keystone.token.providers.base 模块

class keystone.token.providers.base.Provider[source]

基类: object

Token 提供程序的接口描述。

abstract generate_id_and_issued_at(token)[source]

根据提供的信息生成 token。

参数:

token (keystone.models.token.TokenModel) – 包含请求授权上下文信息的 token 对象。

返回值:

返回一个包含 token ID 和 token 生成时间的元组 (token_id, issued_at)。

abstract validate_token(token_id)[source]

通过其 ID 验证给定的 token 并返回 token_data。

参数:

token_id (str) – token 的唯一 ID

返回值:

token 数据以如下形式的元组返回:

(user_id, methods, audit_ids, system, domain_id, project_id,

trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, issued_at, expires_at)

user_id 是用户的唯一 ID 字符串 methods 用于获取 token 的身份验证方法列表 audit_ids token 的审计 ID 列表 system 如果是系统范围,则包含系统范围的字典 domain_id 如果是域范围,则包含域的唯一 ID project_id 如果是项目范围,则包含项目的唯一 ID trust_id 如果是信任范围,则包含信任的唯一标识符 federated_group_ids 联合组 ID 列表 identity_provider_id 用户的身份提供程序的唯一 ID protocol_id 获取 token 所使用的协议的唯一 ID access_token_id OAuth1 token 的 access_token 的唯一 ID app_cred_id 应用程序凭证的唯一 ID param thumbprint OAuth2.0 mTLS 的证书指纹 issued_at token 签发时间的时间戳对象 expires_at token 过期的时间戳对象

引发:

keystone.exception.TokenNotFound – 如果 token 不存在。