keystone.auth.plugins.mapped 模块¶
- keystone.auth.plugins.mapped.apply_mapping_filter(identity_provider, protocol, assertion, resource_api, federation_api, identity_api)[source]¶
- keystone.auth.plugins.mapped.configure_project_domain(shadow_project, idp_domain_id, resource_api)[source]¶
配置联合项目域。
如果来自属性映射的项目没有域,则我们将域设置为默认域(idp_domain_id)。
- keystone.auth.plugins.mapped.handle_projects_from_mapping(shadow_projects, idp_domain_id, existing_roles, user, assignment_api, resource_api)[source]¶
- keystone.auth.plugins.mapped.handle_unscoped_token(auth_payload, resource_api, federation_api, identity_api, assignment_api, role_api)[source]¶
- keystone.auth.plugins.mapped.validate_and_prepare_federated_user(mapped_properties, idp_domain_id, resource_api)[source]¶
设置联合用户名。
该函数涵盖了所有正确设置用户 ID 的用例,用户 ID 是身份对象的首要标识符。映射引擎的初始版本假定用户由
name标识,并且其id是从名称构建的。但是,我们需要能够接受通过 ID 或名称/域识别用户的本地规则。涵盖以下用例
如果未设置 user_name 或 user_id,则引发异常 Unauthorized
如果设置了 user_id 但未设置 user_name,则将 user_name 设置为 user_id
如果未设置 user_id 且设置了 user_name,则将 user_id 设置为 user_name 的 URL 安全版本。
此外,如果用户定义没有域定义,我们将 IdP 设置为用户域。
- 参数:
mapped_properties – 由 RuleProcessor 发出的属性。
idp_domain_id – 在 OpenStack 中注册的 IdP 的域 ID。
resource_api – 用于访问数据库层的资源 API。
- 类型:
字典
- 类型:
字符串
- 类型:
对象
- 引发:
keystone.exception.Unauthorized – 如果未设置 user_name 或 user_id。
- 返回值:
包含用户标识的元组
- 返回类型:
元组