keystoneauth1.identity.v3.totp 模块

class keystoneauth1.identity.v3.totp.TOTP(auth_url: str, passcode: str, user_id: str | None = None, username: str | None = None, user_domain_id: str | None = None, user_domain_name: str | None = None, *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True)

继承自 Auth

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

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

  • passcode (字符串) – 用于身份验证的 TOTP 密码。

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

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

  • 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

__abstractmethods__ = frozenset({})
__annotations__ = {'MIN_TOKEN_LIFE_SECONDS': 'int', '_discovery_cache': 'dict[str, discover.Discover]', 'auth_ref': 'access.AccessInfo | None', 'auth_url': 'str', 'reauthenticate': 'bool'}
__doc__ = "一个 用于 使用 用户名 TOTP 密码 进行 身份验证的 插件。\n\n    :param 字符串 auth_url: 用于身份验证的身份服务端点。\n    :param 字符串 passcode: 用于身份验证的 TOTP 密码。\n    :param 字符串 user_id: 用于身份验证的用户 ID。\n    :param 字符串 username: 用于身份验证的用户名。\n    :param 字符串 user_domain_id: 用于身份验证的用户域 ID。\n    :param 字符串 user_domain_name: 用于身份验证的用户域名称。\n    :param 字符串 trust_id: 用于信任范围的信任 ID。\n    :param 字符串 domain_id: 用于域范围的域 ID。\n    :param 字符串 domain_name: 用于域范围的域名称。\n    :param 字符串 project_id: 用于项目范围的项目 ID。\n    :param 字符串 project_name: 用于项目范围的项目名称。\n    :param 字符串 project_domain_id: 用于项目的项目域 ID。\n    :param 字符串 project_domain_name: 用于项目的项目域名称。\n    :param 布尔值 reauthenticate: 如果当前令牌即将过期,则允许获取新的令牌。(可选)默认值为 True\n    "
__init__(auth_url: str, passcode: str, user_id: str | None = None, username: str | None = None, user_domain_id: str | None = None, user_domain_name: str | None = None, *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True) None
__module__ = 'keystoneauth1.identity.v3.totp'
_abc_impl = <_abc._abc_data object>
_auth_method_class

别名 TOTPMethod

_discovery_cache: dict[str, discover.Discover]
auth_ref: access.AccessInfo | None
auth_url: str
reauthenticate: bool
class keystoneauth1.identity.v3.totp.TOTPMethod(*, passcode: str, user_id: str | None = None, username: str | None = None, user_domain_id: str | None = None, user_domain_name: str | None = None)

基类: AuthMethod

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

参数:
  • passcode (字符串) – 用于身份验证的 TOTP 密码。

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

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

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

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

__abstractmethods__ = frozenset({})
__annotations__ = {'_method_parameters': 'list[str] | None', 'passcode': <class 'str'>, 'user_domain_id': str | None, 'user_domain_name': str | None, 'user_id': str | None, 'username': str | None}
__doc__ = "构造基于用户/密码的身份验证方法。\n\n    :param 字符串 passcode: 用于身份验证的 TOTP 密码。\n    :param 字符串 username: 用于身份验证的用户名。\n    :param 字符串 user_id: 用于身份验证的用户 ID。\n    :param 字符串 user_domain_id: 用于身份验证的用户域 ID。\n    :param 字符串 user_domain_name: 用于身份验证的用户域名称。\n    "
__init__(*, passcode: str, user_id: str | None = None, username: str | None = None, user_domain_id: str | None = None, user_domain_name: str | None = None) None
__module__ = 'keystoneauth1.identity.v3.totp'
_abc_impl = <_abc._abc_data object>
get_auth_data(session: Session, auth: Auth, headers: dict[str, str], request_kwargs: dict[str, object]) tuple[None, None] | tuple[str, Mapping[str, object]]

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

参数:
  • session (keystoneauth1.session.Session) – 会话。

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

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

返回值:

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

返回类型:

tuple(string, dict)

get_cache_id_elements() dict[str, str | None]

获取使此认证方法唯一化的元素。

这些元素将用作 keystoneauth1.plugin.BaseIdentityPlugin.get_cache_id() 的一部分,以允许缓存认证插件。

如果插件希望允许缓存其状态,则应重写此方法。

为了避免冲突或覆盖,返回字典的键应以插件标识符为前缀。例如,密码插件将其用户名值作为“password_username”返回。

passcode: str
user_domain_id: str | None = None
user_domain_name: str | None = None
user_id: str | None = None
username: str | None = None