keystone.auth.core 模块

class keystone.auth.core.AuthContext[源]

基础: dict

为了协调身份属性而进行的 auth_context 的反向改造。

身份属性在认证插件之间不得具有冲突的值。唯一的例外是 expires_at,它被设置为其最早的值。

IDENTITY_ATTRIBUTES = frozenset({'access_token_id', 'domain_id', 'expires_at', 'project_id', 'user_id'})
update(E=None, **F)[源]

重写 update 以防止冲突的值。

class keystone.auth.core.AuthInfo(auth=None)[源]

基类: ProviderAPIMixin

“auth”请求的封装。

static create(auth=None, scope_only=False)[源]
get_method_data(method)[源]

获取认证方法的 payload。

返回值:

认证方法 payload

get_method_names()[源]

返回身份认证方法的名称。

返回值:

认证方法的名称列表

get_scope()[源]

获取作用域信息。

验证并返回作用域信息。

返回值:

(domain_id, project_id, trust_ref, unscoped, system)。如果作用域是 project,则返回 (None, project_id, None, None, None)。如果作用域是 domain,则返回 (domain_id, None, None, None, None)。如果作用域是 trust,则返回 (None, project_id, trust_ref, None, None),其中 project_id 来自 trust 定义。如果是不受作用域限制,则返回 (None, None, None, ‘unscoped’, None)。如果系统作用域,则返回 (None, None, None, None, ‘all’)。

set_scope(domain_id=None, project_id=None, trust=None, unscoped=None, system=None)[源]

设置作用域信息。

class keystone.auth.core.UserMFARulesValidator[源]

基类: ProviderAPIMixin

可以验证 MFA 规则的辅助对象。

classmethod check_auth_methods_against_rules(user_id, auth_methods)[源]

根据成功的认证方法验证 MFA 规则。

参数:
  • user_id (str) – 用户的 ID (uuid)。

  • auth_methods (set) – 用于认证的方法列表

返回值:

布尔值,True 表示规则匹配且认证可以继续,False 表示规则不匹配。

keystone.auth.core.get_auth_method(method_name)[源]
keystone.auth.core.load_auth_method(method)[源]
keystone.auth.core.load_auth_methods()[源]