# keystoneauth1.extras.kerberos package

## Module contents

Kerberos authentication plugins.

Warning

This module requires installation of an extra package (requests_kerberos) not installed by default. Without the extra package an import error will occur. The extra package can be installed using:

    $ pip install keystoneauth1[kerberos]

class keystoneauth1.extras.kerberos.Kerberos(auth_url: str, mutual_auth: str | None = None, *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True)

  Bases: `Auth`

  __abstractmethods__ = frozenset({})
  __annotate_func__ = None
  __annotations_cache__ = {}
  __doc__ = None
  __firstlineno__ = 90
  __init__(auth_url: str, mutual_auth: str | None = None, *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True) → None
  __module__ = 'keystoneauth1.extras.kerberos'
  __static_attributes__ = ()
  _abc_impl = <_abc._abc_data object>
  _auth_method_class

    alias of `KerberosMethod`

class keystoneauth1.extras.kerberos.KerberosMethod(*, mutual_auth: str | None = None)

  Bases: `AuthMethod`

  __abstractmethods__ = frozenset({})
  __annotations_cache__ = {'mutual_auth': str | None}
  __doc__ = None
  __firstlineno__ = 69
  __init__(*, mutual_auth: str | None = None) → None
  __module__ = 'keystoneauth1.extras.kerberos'
  __static_attributes__ = ('mutual_auth',)
  _abc_impl = <_abc._abc_data object>
  get_auth_data(session: Session, auth: Auth, headers: dict[str, str], request_kwargs: dict[str, object]) → tuple[None, None] | tuple[str, Mapping[str, object]]

    Return the authentication section of an auth plugin.

    Parameters:

      - session (keystoneauth1.session.Session) – The communication session.

      - auth (base.Auth) – The auth plugin calling the method.

      - headers (dict) – The headers that will be sent with the auth request if a plugin needs to add to them.

    Returns:

      The identifier of this plugin and a dict of authentication data for the auth type.

    Return type:

      tuple(string, dict)

  mutual_auth: str | None

class keystoneauth1.extras.kerberos.MappedKerberos(auth_url: str, identity_provider: str, protocol: str, mutual_auth: str | None = None, *, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True)

  Bases: `FederationBaseAuth`

  Authenticate using Kerberos via the keystone federation mechanisms.

  This uses the OS-FEDERATION extension to gain an unscoped token and then use the standard keystone auth process to scope that to any given project.

  __abstractmethods__ = frozenset({})
  __annotate_func__ = None
  __annotations_cache__ = {}
  __doc__ = 'Authenticate using Kerberos via the keystone federation mechanisms.\n\nThis uses the OS-FEDERATION extension to gain an unscoped token and then\nuse the standard keystone auth process to scope that to any given project.\n'
  __firstlineno__ = 128
  __init__(auth_url: str, identity_provider: str, protocol: str, mutual_auth: str | None = None, *, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True) → None
  __module__ = 'keystoneauth1.extras.kerberos'
  __static_attributes__ = ('mutual_auth',)
  _abc_impl = <_abc._abc_data object>
  get_unscoped_auth_ref(session: Session) → AccessInfoV3

    Fetch unscoped federated token.

keystoneauth1.extras.kerberos._dependency_check() → None

keystoneauth1.extras.kerberos._mutual_auth(value: str | None) → str

keystoneauth1.extras.kerberos._requests_auth(mutual_authentication: str | None) → HTTPKerberosAuth

this page last updated: 2026-07-14 15:48:40

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug