keystoneclient.auth.identity 包¶
子包¶
- keystoneclient.auth.identity.generic 包
- keystoneclient.auth.identity.v3 包
子模块¶
keystoneclient.auth.identity.access 模块¶
- class keystoneclient.auth.identity.access.AccessInfoPlugin(auth_ref, auth_url=None)¶
-
一个将现有的 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.exceptions.InvalidResponse – 返回的响应不合适。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
令牌访问信息。
- 返回类型:
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
- 返回类型:
- abstractmethod get_auth_ref(session, **kwargs)¶
从 OpenStack Identity 服务获取令牌。
此方法由各种令牌版本插件覆盖。
不应独立调用此方法,并预计通过 do_authenticate() 方法调用。
如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。
- 参数:
session (keystoneclient.session.Session) – 可以用于通信的会话对象。
- 引发:
keystoneclient.exceptions.InvalidResponse – 返回的响应不合适。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
令牌访问信息。
- 返回类型:
- get_discovery(session, url, authenticated=None)¶
为 URL 返回发现对象。
检查会话和插件缓存,查看是否已经对 URL 执行过发现,如果是,则返回它,否则创建一个新的发现对象,将其缓存并返回它。
此函数预计由子类使用,用户不需要使用。
- 参数:
session (keystoneclient.session.Session) – 用于发现的会话对象。
url (str) – 要查找的 URL。
authenticated (bool) – 在 discovery 调用中包含一个 token。(可选)默认为 None(如果安装了插件则使用 token)。
- 引发:
keystoneclient.exceptions.DiscoveryFailure – 如果由于某种原因查找失败。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
包含查找该 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) – 端点的暴露。应为 public、internal、admin 或 auth。auth 在这里是特殊的,用于使用 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。
- 返回类型:
- 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。
- 返回类型:
- invalidate()¶
使当前的身份验证数据失效。
这应该导致在下次调用时获取新的 token。
如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。
- 返回值:
如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。
- 返回类型:
- 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)¶
-
身份 V2 身份验证插件。
- 参数:
auth_url (string) – 授权的身份服务端点。
trust_id (string) – 信任范围的信任 ID。
tenant_id (string) – 项目范围的租户 ID。
tenant_name (string) – 项目范围的租户名称。
reauthenticate (bool) – 允许在当前令牌即将过期时获取新的令牌。(可选)默认值为 True
- abstractmethod get_auth_data(headers=None)¶
返回身份验证插件的身份验证部分。
- get_auth_ref(session, **kwargs)¶
从 OpenStack Identity 服务获取令牌。
此方法由各种令牌版本插件覆盖。
不应独立调用此方法,并预计通过 do_authenticate() 方法调用。
如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。
- 参数:
session (keystoneclient.session.Session) – 可以用于通信的会话对象。
- 引发:
keystoneclient.exceptions.InvalidResponse – 返回的响应不合适。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
令牌访问信息。
- 返回类型:
- 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)¶
返回身份验证插件的身份验证部分。
- classmethod get_options()¶
返回与身份验证插件关联的参数列表。
此列表可用于生成 CLI 或配置文件参数。
- 返回值:
描述可用插件参数的 Param 对象列表。
- 返回类型:
列表
- classmethod load_from_argparse_arguments(namespace, **kwargs)¶
从 argparse 结果加载特定的插件对象。
将解析结果转换为指定的插件。
- 参数:
namespace (argparse.Namespace) – CLI 解析的结果。
- 返回值:
一个认证插件,或者如果没有提供名称则为 None。
- 返回类型:
- 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)¶
返回身份验证插件的身份验证部分。
- 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
- 返回类型:
- abstractmethod get_auth_ref(session, **kwargs)¶
从 OpenStack Identity 服务获取令牌。
此方法由各种令牌版本插件覆盖。
不应独立调用此方法,并预计通过 do_authenticate() 方法调用。
如果插件缓存的 AccessInfo 对象无效,则将调用此方法。因此,插件在调用时应始终获取新的 AccessInfo。如果您只想检索当前的 auth 数据,则应使用 get_access()。
- 参数:
session (keystoneclient.session.Session) – 可以用于通信的会话对象。
- 引发:
keystoneclient.exceptions.InvalidResponse – 返回的响应不合适。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
令牌访问信息。
- 返回类型:
- get_discovery(session, url, authenticated=None)¶
为 URL 返回发现对象。
检查会话和插件缓存,查看是否已经对 URL 执行过发现,如果是,则返回它,否则创建一个新的发现对象,将其缓存并返回它。
此函数预计由子类使用,用户不需要使用。
- 参数:
session (keystoneclient.session.Session) – 用于发现的会话对象。
url (str) – 要查找的 URL。
authenticated (bool) – 在 discovery 调用中包含一个 token。(可选)默认为 None(如果安装了插件则使用 token)。
- 引发:
keystoneclient.exceptions.DiscoveryFailure – 如果由于某种原因查找失败。
keystoneclient.exceptions.HttpError – 来自无效 HTTP 响应的错误。
- 返回值:
包含查找该 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) – 端点的暴露。应为 public、internal、admin 或 auth。auth 在这里是特殊的,用于使用 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。
- 返回类型:
- 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。
- 返回类型:
- invalidate()¶
使当前的身份验证数据失效。
这应该导致在下次调用时获取新的 token。
如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。
- 返回值:
如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。
- 返回类型:
- 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)¶
-
一个通用的用户名/密码身份验证插件。
- 参数:
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。
- 返回类型:
- class keystoneclient.auth.identity.Token(auth_url, token=None, **kwargs)¶
-
通用 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 对象列表。
- 返回类型:
列表