keystone.token.token_formatters 模块¶
- class keystone.token.token_formatters.ApplicationCredentialScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 9¶
- class keystone.token.token_formatters.BasePayload[source]¶
基类:
object- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod attempt_convert_uuid_hex_to_bytes(value)[source]¶
尝试将值转换为字节或返回该值。
- 参数:
value – 要尝试转换为字节的值
- 返回值:
元组包含一个布尔值,指示是否将 user_id 存储为字节以及 uuid 值作为字节,或者原始值
- classmethod convert_uuid_bytes_to_hex(uuid_byte_string)[source]¶
基于字节字符串生成 uuid.hex 格式。
- 参数:
uuid_byte_string – 要生成的 uuid 字符串
- 返回值:
uuid 十六进制格式的字符串
- classmethod convert_uuid_hex_to_bytes(uuid_string)[source]¶
将 UUID 格式的字符串压缩为字节。
- 参数:
uuid_string – 要压缩为字节的 uuid 字符串
- 返回值:
uuid 的字节表示形式
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int¶
- class keystone.token.token_formatters.DomainScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 1¶
- class keystone.token.token_formatters.FederatedScopedPayload[source]¶
-
- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- class keystone.token.token_formatters.FederatedUnscopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 4¶
- class keystone.token.token_formatters.Oauth2CredentialsScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 10¶
- class keystone.token.token_formatters.OauthScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 7¶
- class keystone.token.token_formatters.ProjectScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 2¶
- class keystone.token.token_formatters.SystemScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 8¶
- class keystone.token.token_formatters.TokenFormatter[source]¶
基类:
object将有效载荷打包和解包成用于传输的令牌。
- create_token(user_id, expires_at, audit_ids, payload_class, methods=None, system=None, domain_id=None, project_id=None, trust_id=None, federated_group_ids=None, identity_provider_id=None, protocol_id=None, access_token_id=None, app_cred_id=None, thumbprint=None)[source]¶
根据一组有效载荷属性,生成 Fernet 令牌。
- property crypto¶
返回一个加密实例。
你可以使用自定义的加密 @property 扩展这个类,以提供你自己的 token 编码/解码方式。例如,使用不同的密码学库(例如
python-keyczar)或满足任意安全要求。这个 @property 只需要返回一个实现
encrypt(plaintext)和decrypt(ciphertext)的对象。
- class keystone.token.token_formatters.TrustScopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 3¶
- class keystone.token.token_formatters.UnscopedPayload[source]¶
基类:
BasePayload- classmethod assemble(user_id, methods, system, project_id, domain_id, expires_at, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id, access_token_id, app_cred_id, thumbprint)[source]¶
组装令牌的有效载荷。
- 参数:
user_id – 令牌请求中的用户标识符
methods – 使用的身份验证方法列表
system – 包含系统范围信息的字符串
project_id – 要限定到的项目的 ID
domain_id – 要限定到的域的 ID
expires_at – 令牌的过期时间
audit_ids – 令牌的审计 ID 列表
trust_id – 生效的信任 ID
federated_group_ids – 来自 SAML 断言的组 ID 列表
identity_provider_id – 用户的身份提供商 ID
protocol_id – 用于身份验证的联合协议
access_token_id – OAuth1 身份验证中的密钥的 ID
app_cred_id – 生效的应用程序凭证 ID
thumbprint – OAuth2 mTLS 中证书的指纹
- 返回值:
令牌的有效载荷
- classmethod disassemble(payload)[source]¶
将未限定的有效载荷解组为组件数据。
元组由
(user_id, methods, system, project_id, domain_id, expires_at_str, audit_ids, trust_id, federated_group_ids, identity_provider_id, protocol_id,` access_token_id, app_cred_id)
methods是身份验证方法。
如果它们不适用于此有效载荷类型,则字段将设置为 None。
- 参数:
payload – 这种变体的有效载荷
- 返回值:
有效载荷组件数据的元组
- version: int = 0¶