keystoneauth1.identity.v3.tokenless_auth 模块

class keystoneauth1.identity.v3.tokenless_auth.TokenlessAuth(auth_url: str, 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)

基类: BaseAuthPlugin

用于使用 Tokenless Auth 进行身份验证的插件。

此插件用于 Tokenless 身份验证。诸如域名和项目 ID 之类的作用域信息将传递在标头中,并且令牌验证请求将基于提供的 HTTPS 证书以及作用域信息进行身份验证。

__abstractmethods__ = frozenset({})
__annotations__ = {'_discovery_cache': 'dict[str, discover.Discover]'}
__doc__ = '用于 使用 Tokenless Auth 进行身份验证的插件。\n\n    此插件用于 Tokenless 身份验证。作用域信息\n    如域名和项目 ID 将传递在标头中,并且令牌验证请求将基于\n    提供的 HTTPS 证书以及作用域信息进行身份验证。\n    '
__init__(auth_url: str, 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)

TokenlessAuth 的初始化方法。

参数:
  • auth_url (字符串) – 用于身份验证的身份服务端点。URL 必须包含版本号,否则任何请求都将导致 404 NotFound 错误。

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

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

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

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

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

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

__module__ = 'keystoneauth1.identity.v3.tokenless_auth'
_abc_impl = <_abc._abc_data object>
_discovery_cache: dict[str, discover.Discover]
get_endpoint(session: ks_session.Session, service_type: str | None = None, **kwargs: Any) str | None

返回服务的有效端点。

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

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

返回值:

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

返回类型:

字符串或 None

get_headers(session: ks_session.Session) dict[str, str] | None

获取消息的身份验证头。

为了在会话中未提供令牌的情况下,提供 tokenless auth 作用域标头而重写默认 get_headers 方法。

参数:

session (keystoneauth1.session.Session) – 该认证插件所属的会话对象。

返回值:

用于验证消息的头,或者失败的 None。请注意,空字典是一个有效的、非失败的响应。

返回类型:

dict