keystoneclient.auth.identity 包

子包

子模块

keystoneclient.auth.identity.access 模块

class keystoneclient.auth.identity.access.AccessInfoPlugin(auth_ref, auth_url=None)

基类: BaseIdentityPlugin

一个将现有的 AccessInfo 对象转换为可用插件的插件。

在某些情况下,重用 auth_ref 或 AccessInfo 对象是有必要的,例如从缓存、来自 auth_token 中间件或另一个来源。

将现有的 access info 对象转换为身份插件。此插件无法刷新,因为 AccessInfo 对象不包含任何授权信息。

参数:
  • auth_ref (keystoneclient.access.AccessInfo) – 现有的 AccessInfo 对象。

  • auth_url – 从中检索此 AccessInfo 的 url。如果使用 AUTH_INTERFACE 和 get_endpoint,则需要。(可选)

get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

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

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

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

参数:

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

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

invalidate()

使当前的身份验证数据失效。

这应该导致在下次调用时获取新的 token。

如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。

返回值:

如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。

返回类型:

bool

keystoneclient.auth.identity.base 模块

class keystoneclient.auth.identity.base.BaseIdentityPlugin(auth_url=None, username=None, password=None, token=None, trust_id=None, reauthenticate=True)

基类: BaseAuthPlugin

MIN_TOKEN_LIFE_SECONDS = 120
get_access(session, **kwargs)

获取或返回当前的 AccessInfo 对象。

如果存在有效的 AccessInfo,则返回它,否则将获取一个新的 AccessInfo。

参数:

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

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

有效的 AccessInfo

返回类型:

keystoneclient.access.AccessInfo

abstractmethod get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

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

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

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

参数:

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

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

get_discovery(session, url, authenticated=None)

为 URL 返回发现对象。

检查会话和插件缓存,查看是否已经对 URL 执行过发现,如果是,则返回它,否则创建一个新的发现对象,将其缓存并返回它。

此函数预计由子类使用,用户不需要使用。

参数:
  • session (keystoneclient.session.Session) – 用于发现的会话对象。

  • url (str) – 要查找的 URL。

  • authenticated (bool) – 在 discovery 调用中包含一个 token。(可选)默认为 None(如果安装了插件则使用 token)。

引发:
返回值:

包含查找该 URL 结果的发现对象。

get_endpoint(session, service_type=None, interface=None, region_name=None, service_name=None, version=None, **kwargs)

返回服务的有效端点。

如果不存在有效的令牌,则将使用会话和 kwargs 获取新的令牌。

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

  • service_type (string) – 要查找端点的服务类型。如果未提供 service_type,则此插件将返回 None(失败)。

  • interface (string) – 端点的暴露。应为 publicinternaladminauthauth 在这里是特殊的,用于使用 auth_url 而不是从服务目录中提取的 URL。默认为 public

  • region_name (string) – 端点应存在的区域。(可选)

  • service_name (string) – 目录中的服务名称。(可选)

  • version (tuple) – 此端点所需的最低版本号。(可选)

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

有效的端点 URL 或不可用时为 None。

返回类型:

字符串或 None

classmethod get_options()

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

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

返回值:

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

返回类型:

列表

get_project_id(session, **kwargs)

返回插件认证到的项目 ID。

只要可能,项目 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的项目 ID。

参数:

session (keystoneclient.session.Session) – 插件可以进行 HTTP 调用的会话对象。

返回值:

一个项目标识符,如果不可用则为 None。

返回类型:

str

get_token(session, **kwargs)

返回有效的身份验证 token。

如果不存在有效的 token,则将获取一个新的 token。

参数:

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

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

一个有效的 token。

返回类型:

字符串

get_user_id(session, **kwargs)

返回插件的唯一用户标识符。

只要可能,用户 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的用户 ID。

参数:

session (keystoneclient.session.Session) – 插件可以进行 HTTP 调用的会话对象。

返回值:

一个用户标识符,如果不可用则为 None。

返回类型:

str

invalidate()

使当前的身份验证数据失效。

这应该导致在下次调用时获取新的 token。

如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。

返回值:

如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。

返回类型:

bool

property password

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property token

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property trust_id

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property username

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

keystoneclient.auth.identity.base.get_options()

keystoneclient.auth.identity.v2 模块

class keystoneclient.auth.identity.v2.Auth(auth_url, trust_id=None, tenant_id=None, tenant_name=None, reauthenticate=True)

基类: BaseIdentityPlugin

身份 V2 身份验证插件。

参数:
  • auth_url (string) – 授权的身份服务端点。

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

  • tenant_id (string) – 项目范围的租户 ID。

  • tenant_name (string) – 项目范围的租户名称。

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

abstractmethod get_auth_data(headers=None)

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

参数:

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

返回值:

身份验证数据的字典。

返回类型:

dict

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 trust_id

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

class keystoneclient.auth.identity.v2.Password(auth_url, username=<object object>, password=None, user_id=<object object>, **kwargs)

基类: Auth

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

必须提供用户名或 user_id。

参数:
  • auth_url (string) – 授权的身份服务端点。

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

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

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

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

  • tenant_id (string) – 租户范围的租户 ID。

  • tenant_name (string) – 租户范围的租户名称。

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

引发:

TypeError – 如果未提供 user_id 或 username。

get_auth_data(headers=None)

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

参数:

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

返回值:

身份验证数据的字典。

返回类型:

dict

classmethod get_options()

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

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

返回值:

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

返回类型:

列表

classmethod load_from_argparse_arguments(namespace, **kwargs)

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

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

参数:

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

返回值:

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

返回类型:

keystoneclient.auth.BaseAuthPlugin

property password

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property username

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

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

基类: Auth

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

参数:
  • auth_url (string) – 授权的身份服务端点。

  • token (string) – 用于身份验证的现有 token。

  • tenant_id (string) – 租户范围的租户 ID。

  • tenant_name (string) – 租户范围的租户名称。

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

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

get_auth_data(headers=None)

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

参数:

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

返回值:

身份验证数据的字典。

返回类型:

dict

classmethod get_options()

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

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

返回值:

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

返回类型:

列表

property token

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

模块内容

class keystoneclient.auth.identity.BaseIdentityPlugin(auth_url=None, username=None, password=None, token=None, trust_id=None, reauthenticate=True)

基类: BaseAuthPlugin

MIN_TOKEN_LIFE_SECONDS = 120
get_access(session, **kwargs)

获取或返回当前的 AccessInfo 对象。

如果存在有效的 AccessInfo,则返回它,否则将获取一个新的 AccessInfo。

参数:

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

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

有效的 AccessInfo

返回类型:

keystoneclient.access.AccessInfo

abstractmethod get_auth_ref(session, **kwargs)

从 OpenStack Identity 服务获取令牌。

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

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

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

参数:

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

引发:
返回值:

令牌访问信息。

返回类型:

keystoneclient.access.AccessInfo

get_discovery(session, url, authenticated=None)

为 URL 返回发现对象。

检查会话和插件缓存,查看是否已经对 URL 执行过发现,如果是,则返回它,否则创建一个新的发现对象,将其缓存并返回它。

此函数预计由子类使用,用户不需要使用。

参数:
  • session (keystoneclient.session.Session) – 用于发现的会话对象。

  • url (str) – 要查找的 URL。

  • authenticated (bool) – 在 discovery 调用中包含一个 token。(可选)默认为 None(如果安装了插件则使用 token)。

引发:
返回值:

包含查找该 URL 结果的发现对象。

get_endpoint(session, service_type=None, interface=None, region_name=None, service_name=None, version=None, **kwargs)

返回服务的有效端点。

如果不存在有效的令牌,则将使用会话和 kwargs 获取新的令牌。

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

  • service_type (string) – 要查找端点的服务类型。如果未提供 service_type,则此插件将返回 None(失败)。

  • interface (string) – 端点的暴露。应为 publicinternaladminauthauth 在这里是特殊的,用于使用 auth_url 而不是从服务目录中提取的 URL。默认为 public

  • region_name (string) – 端点应存在的区域。(可选)

  • service_name (string) – 目录中的服务名称。(可选)

  • version (tuple) – 此端点所需的最低版本号。(可选)

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

有效的端点 URL 或不可用时为 None。

返回类型:

字符串或 None

classmethod get_options()

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

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

返回值:

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

返回类型:

列表

get_project_id(session, **kwargs)

返回插件认证到的项目 ID。

只要可能,项目 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的项目 ID。

参数:

session (keystoneclient.session.Session) – 插件可以进行 HTTP 调用的会话对象。

返回值:

一个项目标识符,如果不可用则为 None。

返回类型:

str

get_token(session, **kwargs)

返回有效的身份验证 token。

如果不存在有效的 token,则将获取一个新的 token。

参数:

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

引发:

keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。

返回值:

一个有效的 token。

返回类型:

字符串

get_user_id(session, **kwargs)

返回插件的唯一用户标识符。

只要可能,用户 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的用户 ID。

参数:

session (keystoneclient.session.Session) – 插件可以进行 HTTP 调用的会话对象。

返回值:

一个用户标识符,如果不可用则为 None。

返回类型:

str

invalidate()

使当前的身份验证数据失效。

这应该导致在下次调用时获取新的 token。

如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。

返回值:

如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。

返回类型:

bool

property password

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property token

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property trust_id

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

property username

自 1.7.0 版本弃用。

可能在 2.0.0 版本中删除。

class keystoneclient.auth.identity.Password(auth_url, username=None, user_id=None, password=None, user_domain_id=None, user_domain_name=None, **kwargs)

继承自 BaseGenericPlugin

一个通用的用户名/密码身份验证插件。

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

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

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

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

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

create_plugin(session, version, url, raw_status=None)

创建一个插件,基于给定的参数。

此函数将多次调用,并带有潜在终结点的版本和 URL。如果可以构造一个符合参数的插件,则应返回它。如果不能,则将进行另一个调用,并使用其他可用的 URL。

参数:
  • session (keystoneclient.session.Session) – 会话对象。

  • version (tuple) – URL 处的 API 版本的元组。

  • url (string) – 此版本的基本 URL。

  • raw_status (string) – 发现字段中的状态。

返回值:

一个可以匹配参数的插件,或者如果没有任何匹配项则返回 None。

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.Token(auth_url, token=None, **kwargs)

继承自 BaseGenericPlugin

通用 Token 认证插件。

参数:

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

create_plugin(session, version, url, raw_status=None)

创建一个插件,基于给定的参数。

此函数将多次调用,并带有潜在终结点的版本和 URL。如果可以构造一个符合参数的插件,则应返回它。如果不能,则将进行另一个调用,并使用其他可用的 URL。

参数:
  • session (keystoneclient.session.Session) – 会话对象。

  • version (tuple) – URL 处的 API 版本的元组。

  • url (string) – 此版本的基本 URL。

  • raw_status (string) – 发现字段中的状态。

返回值:

一个可以匹配参数的插件,或者如果没有任何匹配项则返回 None。

classmethod get_options()

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

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

返回值:

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

返回类型:

列表

keystoneclient.auth.identity.V2Password

Password 的别名

keystoneclient.auth.identity.V2Token

Token 的别名

keystoneclient.auth.identity.V3Password

Password 的别名

keystoneclient.auth.identity.V3Token

Token 的别名