noggin.security package

Submodules

noggin.security.ipa module

class noggin.security.ipa.Client(host=None, verify_ssl=True, dns_discovery=True)[source]

Bases: ClientMeta

Subclass the official client to add missing methods that we need.

TODO: send this upstream.

fasagreement_add(agreement, **kwargs)[source]

Add a new agreement :param agreement: Agreement name. :type agreement: string

fasagreement_add_group(agreement, **kwargs)[source]

Add a group to an agreement :param agreement: Agreement name. :type agreement: string

fasagreement_add_user(agreement, **kwargs)[source]

Add a user to an agreement :param agreement: Agreement name. :type agreement: string

fasagreement_del(agreement, **kwargs)[source]

Delete an agreement :param agreement: Agreement name. :type agreement: string

fasagreement_disable(agreement, **kwargs)[source]

Disable an agreement

fasagreement_find(**kwargs)[source]

Search agreements

fasagreement_remove_group(agreement, **kwargs)[source]

Remove a group from an agreement :param agreement: Agreement name. :type agreement: string

otptoken_sync(user, password, first_code, second_code, token=None)[source]

Sync an otptoken for a user.

Parameters:
  • user (string) – the user to sync the token for

  • password (string) – the user’s password

  • first_code (string) – the first OTP token

  • second_code (string) – the second OTP token

  • token (string) – the token description (optional)

ping()[source]

Checks that the server is alive.

exception noggin.security.ipa.NoIPAServer[source]

Bases: Exception

No IPA server available.

noggin.security.ipa.choose_server(app, session=None)[source]

Choose a server among the configured IPA server and store the result in the session.

noggin.security.ipa.maybe_ipa_login(app, session, username, userpassword)[source]
noggin.security.ipa.maybe_ipa_session(app, session)[source]
noggin.security.ipa.raise_on_failed(result)[source]
noggin.security.ipa.untouched_ipa_client(app, session)[source]

noggin.security.ipa_admin module

class noggin.security.ipa_admin.IPAAdmin(app=None)[source]

Bases: object

init_app(app)[source]

Module contents