keystoneauth1.identity.access 模块

class keystoneauth1.identity.access.AccessInfoPlugin(auth_ref: AccessInfo, auth_url: str | None = None)

基础: BaseIdentityPlugin

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

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

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

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

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

__abstractmethods__ = frozenset({})
__annotations__ = {'MIN_TOKEN_LIFE_SECONDS': 'int', '_discovery_cache': 'dict[str, discover.Discover]', 'auth_ref': <class 'keystoneauth1.access.access.AccessInfo'>, 'auth_url': 'str | None', 'reauthenticate': 'bool'}
__doc__ = '一个将现有的 AccessInfo 对象转换为可用插件的插件。\n\n    在某些情况下,重用 auth_ref 或 AccessInfo 对象是有必要的,例如从缓存、auth_token 中间件或其他来源。\n\n    将现有的 access info 对象转换为身份验证插件。由于 AccessInfo 对象不包含任何授权信息,因此此插件无法刷新。\n\n    :param auth_ref: 现有的 AccessInfo 对象。\n    :type auth_ref: keystoneauth1.access.AccessInfo\n    :param auth_url: 从中检索此 AccessInfo 的 URL。如果使用 AUTH_INTERFACE 和 get_endpoint,则需要。(可选)\n    '
__init__(auth_ref: AccessInfo, auth_url: str | None = None)
__module__ = 'keystoneauth1.identity.access'
_abc_impl = <_abc._abc_data object>
auth_ref: AccessInfo
get_auth_ref(session: Session) AccessInfo

从 OpenStack Identity 服务获取令牌。

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

不应独立调用此函数,并预计通过 do_authenticate 函数调用。

如果插件缓存的 AccessInfo 对象无效,将调用此函数。因此,插件应始终在调用时获取新的 AccessInfo。如果您只想检索当前的身份验证数据,则应使用 get_access。

参数:

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

引发:
返回值:

令牌访问信息。

返回类型:

keystoneauth1.access.AccessInfo

invalidate() bool

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

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

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

返回值:

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

返回类型:

bool