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: Optional[str] = None, *, unscoped: bool = False, trust_id: Optional[str] = None, system_scope: Optional[str] = None, domain_id: Optional[str] = None, domain_name: Optional[str] = None, project_id: Optional[str] = None, project_name: Optional[str] = None, project_domain_id: Optional[str] = None, project_domain_name: Optional[str] = None, reauthenticate: bool = True, include_catalog: bool = True)

Bases: keystoneauth1.identity.v3.base.Auth

__abstractmethods__ = frozenset({})
__doc__ = None
__init__(auth_url: str, mutual_auth: Optional[str] = None, *, unscoped: bool = False, trust_id: Optional[str] = None, system_scope: Optional[str] = None, domain_id: Optional[str] = None, domain_name: Optional[str] = None, project_id: Optional[str] = None, project_name: Optional[str] = None, project_domain_id: Optional[str] = None, project_domain_name: Optional[str] = None, reauthenticate: bool = True, include_catalog: bool = True) → None

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'keystoneauth1.extras.kerberos'
_abc_impl = <_abc._abc_data object>
_auth_method_class

alias of keystoneauth1.extras.kerberos.KerberosMethod

auth_url: str
class keystoneauth1.extras.kerberos.KerberosMethod(*, mutual_auth: Optional[str] = None)

Bases: keystoneauth1.identity.v3.base.AuthMethod

__abstractmethods__ = frozenset({})
__annotations__ = {'_method_parameters': 'ty.Optional[list[str]]', 'mutual_auth': typing.Optional[str]}
__doc__ = None
__init__(*, mutual_auth: Optional[str] = None) → None

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'keystoneauth1.extras.kerberos'
_abc_impl = <_abc._abc_data object>
get_auth_data(session: keystoneauth1.session.Session, auth: keystoneauth1.identity.v3.base.Auth, headers: dict, request_kwargs: dict) → Union[tuple, tuple]

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: Optional[str]
class keystoneauth1.extras.kerberos.MappedKerberos(auth_url: str, identity_provider: str, protocol: str, mutual_auth: Optional[str] = None, *, trust_id: Optional[str] = None, system_scope: Optional[str] = None, domain_id: Optional[str] = None, domain_name: Optional[str] = None, project_id: Optional[str] = None, project_name: Optional[str] = None, project_domain_id: Optional[str] = None, project_domain_name: Optional[str] = None, reauthenticate: bool = True, include_catalog: bool = True)

Bases: keystoneauth1.identity.v3.federation.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({})
__doc__ = 'Authenticate using Kerberos via the keystone federation mechanisms.\n\n This uses the OS-FEDERATION extension to gain an unscoped token and then\n use the standard keystone auth process to scope that to any given project.\n '
__init__(auth_url: str, identity_provider: str, protocol: str, mutual_auth: Optional[str] = None, *, trust_id: Optional[str] = None, system_scope: Optional[str] = None, domain_id: Optional[str] = None, domain_name: Optional[str] = None, project_id: Optional[str] = None, project_name: Optional[str] = None, project_domain_id: Optional[str] = None, project_domain_name: Optional[str] = None, reauthenticate: bool = True, include_catalog: bool = True) → None

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'keystoneauth1.extras.kerberos'
_abc_impl = <_abc._abc_data object>
auth_url: str
get_unscoped_auth_ref(session: keystoneauth1.session.Session) → keystoneauth1.access.access.AccessInfoV3

Fetch unscoped federated token.

keystoneauth1.extras.kerberos._dependency_check() → None
keystoneauth1.extras.kerberos._mutual_auth(value: Optional[str]) → str
keystoneauth1.extras.kerberos._requests_auth(mutual_authentication: Optional[str]) → requests_kerberos.kerberos_.HTTPKerberosAuth