keystoneclient.auth.identity.v3 package

子模块

keystoneclient.auth.identity.v3.base module

class keystoneclient.auth.identity.v3.base.Auth(auth_url, auth_methods, **kwargs)

Bases: BaseAuth

Identity V3 身份验证插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • auth_methods (List) – 用于身份验证的方法集合。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

  • include_catalog (bool) – 在返回的令牌中包含服务目录。(可选)默认值为 True。

  • unscoped (bool) – 强制返回未范围限定的令牌。即使此用户的 default_project_id 已设置,也会使 Keystone 服务器返回未范围限定的令牌。

get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

此方法由各种令牌版本插件覆盖。

不应独立调用此方法,并预计通过 do_authenticate() 方法调用。

如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。

参数:

session (keystoneclient.session.Session) – 可以用于通信的会话对象。

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

class keystoneclient.auth.identity.v3.base.AuthConstructor(auth_url, *args, **kwargs)

Bases: Auth

创建 Auth 插件的抽象基类。

创建的 Auth 插件仅包含一种身份验证方法。这通常是必需的使用方式。

AuthConstructor 基于插件定义的 method_arguments 和 auth_method_class 创建 AuthMethod。然后,它使用该身份验证方法创建身份验证插件。

class keystoneclient.auth.identity.v3.base.AuthMethod(**kwargs)

基类: object

V3 身份验证策略的一部分。

V3 令牌允许在针对服务器进行身份验证时提供多种方法。这些方法中的每一个都由 AuthMethod 实现。

注意:在实现 AuthMethod 时,请使用 method_parameters,不要使用位置参数。否则,它们无法被工厂方法捕获,并且与 AuthConstructors 的配合效果不佳。

abstractmethod get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

class keystoneclient.auth.identity.v3.base.BaseAuth(auth_url, trust_id=None, domain_id=None, domain_name=None, project_id=None, project_name=None, project_domain_id=None, project_domain_name=None, reauthenticate=True, include_catalog=True)

Bases: BaseIdentityPlugin

Identity V3 身份验证插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • auth_methods (List) – 用于身份验证的方法集合。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

  • include_catalog (bool) – 在返回的令牌中包含服务目录。(可选)默认值为 True。

abstractmethod get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

此方法由各种令牌版本插件覆盖。

不应独立调用此方法,并预计通过 do_authenticate() 方法调用。

如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。

参数:

session (keystoneclient.session.Session) – 可以用于通信的会话对象。

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

property token_url

我们将发送身份验证数据的完整 URL。

property trust_id

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

keystoneclient.auth.identity.v3.federated module

class keystoneclient.auth.identity.v3.federated.FederatedBaseAuth(auth_url, identity_provider, protocol, **kwargs)

Bases: BaseAuth

property federated_token_url

发送授权数据的完整 URL。

get_auth_ref(session, **kwargs)

身份验证检索令牌信息。

这是一个多步骤过程,客户端执行联合身份验证,接收未范围限定的令牌。

如果成功接收到未范围限定的令牌并且存在范围限定信息,则令牌将被重新范围限定到目标。

参数:

session (keystoneclient.session.Session) – 用于发送 HTTP 请求的会话对象。

返回值:

令牌数据表示形式

返回类型:

keystoneclient.access.AccessInfo

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

abstractmethod get_unscoped_auth_ref(session, **kwargs)

获取未范围限定的联合令牌。

rescoping_plugin

别名 Token

keystoneclient.auth.identity.v3.password module

class keystoneclient.auth.identity.v3.password.Password(auth_url, *args, **kwargs)

Bases: AuthConstructor

用于使用用户名和密码进行身份验证的插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • password (string) – 身份验证的密码。

  • username (string) – 身份验证的用户名。

  • user_id (字符串) – 用于身份验证的用户 ID。

  • user_domain_id (字符串) – 用于身份验证的用户的域 ID。

  • user_domain_name (字符串) – 用于身份验证的用户的域名称。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

classmethod load_from_argparse_arguments(namespace, **kwargs)

从 argparse 结果加载特定的插件对象。

将解析结果转换为指定的插件。

参数:

namespace (argparse.Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

class keystoneclient.auth.identity.v3.password.PasswordMethod(**kwargs)

Bases: AuthMethod

构造基于用户/密码的身份验证方法。

参数:
  • password (string) – 身份验证的密码。

  • username (string) – 身份验证的用户名。

  • user_id (字符串) – 用于身份验证的用户 ID。

  • user_domain_id (字符串) – 用于身份验证的用户的域 ID。

  • user_domain_name (字符串) – 用于身份验证的用户的域名称。

get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

keystoneclient.auth.identity.v3.token module

class keystoneclient.auth.identity.v3.token.Token(auth_url, token, **kwargs)

Bases: AuthConstructor

使用现有 Token 进行身份验证的插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • token (字符串) – 用于认证的 Token。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

class keystoneclient.auth.identity.v3.token.TokenMethod(**kwargs)

Bases: AuthMethod

构造一个 Auth 插件,用于从 token 获取 token。

参数:

token (字符串) – 用于认证的 Token。

get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

模块内容

class keystoneclient.auth.identity.v3.Auth(auth_url, auth_methods, **kwargs)

Bases: BaseAuth

Identity V3 身份验证插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • auth_methods (List) – 用于身份验证的方法集合。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

  • include_catalog (bool) – 在返回的令牌中包含服务目录。(可选)默认值为 True。

  • unscoped (bool) – 强制返回未范围限定的令牌。即使此用户的 default_project_id 已设置,也会使 Keystone 服务器返回未范围限定的令牌。

get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

此方法由各种令牌版本插件覆盖。

不应独立调用此方法,并预计通过 do_authenticate() 方法调用。

如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。

参数:

session (keystoneclient.session.Session) – 可以用于通信的会话对象。

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

class keystoneclient.auth.identity.v3.AuthConstructor(auth_url, *args, **kwargs)

Bases: Auth

创建 Auth 插件的抽象基类。

创建的 Auth 插件仅包含一种身份验证方法。这通常是必需的使用方式。

AuthConstructor 基于插件定义的 method_arguments 和 auth_method_class 创建 AuthMethod。然后,它使用该身份验证方法创建身份验证插件。

class keystoneclient.auth.identity.v3.AuthMethod(**kwargs)

基类: object

V3 身份验证策略的一部分。

V3 令牌允许在针对服务器进行身份验证时提供多种方法。这些方法中的每一个都由 AuthMethod 实现。

注意:在实现 AuthMethod 时,请使用 method_parameters,不要使用位置参数。否则,它们无法被工厂方法捕获,并且与 AuthConstructors 的配合效果不佳。

abstractmethod get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

class keystoneclient.auth.identity.v3.BaseAuth(auth_url, trust_id=None, domain_id=None, domain_name=None, project_id=None, project_name=None, project_domain_id=None, project_domain_name=None, reauthenticate=True, include_catalog=True)

Bases: BaseIdentityPlugin

Identity V3 身份验证插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • auth_methods (List) – 用于身份验证的方法集合。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

  • include_catalog (bool) – 在返回的令牌中包含服务目录。(可选)默认值为 True。

abstractmethod get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

此方法由各种令牌版本插件覆盖。

不应独立调用此方法,并预计通过 do_authenticate() 方法调用。

如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。

参数:

session (keystoneclient.session.Session) – 可以用于通信的会话对象。

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

property token_url

我们将发送身份验证数据的完整 URL。

property trust_id

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

class keystoneclient.auth.identity.v3.FederatedBaseAuth(auth_url, identity_provider, protocol, **kwargs)

Bases: BaseAuth

property federated_token_url

发送授权数据的完整 URL。

get_auth_ref(session, **kwargs)

身份验证检索令牌信息。

这是一个多步骤过程,客户端执行联合身份验证,接收未范围限定的令牌。

如果成功接收到未范围限定的令牌并且存在范围限定信息,则令牌将被重新范围限定到目标。

参数:

session (keystoneclient.session.Session) – 用于发送 HTTP 请求的会话对象。

返回值:

令牌数据表示形式

返回类型:

keystoneclient.access.AccessInfo

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

abstractmethod get_unscoped_auth_ref(session, **kwargs)

获取未范围限定的联合令牌。

rescoping_plugin

别名 Token

class keystoneclient.auth.identity.v3.Password(auth_url, *args, **kwargs)

Bases: AuthConstructor

用于使用用户名和密码进行身份验证的插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • password (string) – 身份验证的密码。

  • username (string) – 身份验证的用户名。

  • user_id (字符串) – 用于身份验证的用户 ID。

  • user_domain_id (字符串) – 用于身份验证的用户的域 ID。

  • user_domain_name (字符串) – 用于身份验证的用户的域名称。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

classmethod load_from_argparse_arguments(namespace, **kwargs)

从 argparse 结果加载特定的插件对象。

将解析结果转换为指定的插件。

参数:

namespace (argparse.Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

class keystoneclient.auth.identity.v3.PasswordMethod(**kwargs)

Bases: AuthMethod

构造基于用户/密码的身份验证方法。

参数:
  • password (string) – 身份验证的密码。

  • username (string) – 身份验证的用户名。

  • user_id (字符串) – 用于身份验证的用户 ID。

  • user_domain_id (字符串) – 用于身份验证的用户的域 ID。

  • user_domain_name (字符串) – 用于身份验证的用户的域名称。

get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

class keystoneclient.auth.identity.v3.Token(auth_url, token, **kwargs)

Bases: AuthConstructor

使用现有 Token 进行身份验证的插件。

参数:
  • auth_url (string) – 身份服务端点,用于身份验证。

  • token (字符串) – 用于认证的 Token。

  • trust_id (string) – 信任范围的信任 ID。

  • domain_id (string) – 域 ID,用于域范围限定。

  • domain_name (string) – 域名称,用于域范围限定。

  • project_id (string) – 项目 ID,用于项目范围限定。

  • project_name (string) – 项目名称,用于项目范围限定。

  • project_domain_id (string) – 项目的域 ID,用于项目。

  • project_domain_name (string) – 项目的域名称,用于项目。

  • reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

class keystoneclient.auth.identity.v3.TokenMethod(**kwargs)

Bases: AuthMethod

构造一个 Auth 插件,用于从 token 获取 token。

参数:

token (字符串) – 用于认证的 Token。

get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的身份验证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)