12.4. OIDC 令牌和 SAML 断言映射
接收 ID 令牌、访问令牌或 SAML 断言的应用程序可能需要不同的角色和用户元数据。
您可以使用 Red Hat Single Sign-On 来:
- Hardcode 角色、声明和自定义属性。
- 将用户元数据拉取到令牌或断言。
- 重命名角色.
您可以在管理控制台中的" 映射程序 "选项卡中执行这些操作。
映射程序标签页
新客户端没有内置映射程序,但它们可以从客户端范围内继承一些映射程序。如需了解更多详细信息,请参阅 客户端范围部分。
协议映射项目(如电子邮件地址)到身份和访问令牌中的特定声明。mapper 的功能应该从其名称中自我说明。您可以通过单击 Add Builtin 来添加预先配置的映射程序。
每个映射程序都有一组通用的设置。根据映射程序类型,提供了其他设置。点 mapper 旁边的 Edit 来访问配置屏幕,以调整这些设置。
映射器配置
您可以通过将鼠标悬停在工具提示来查看每个选项的详情。
您可以使用大多数 OIDC 映射来控制声明的位置。您可以通过调整 Add to ID 令牌和 Add to access token 切换来从 id 和 token 中排除声明。
您可以添加映射程序类型,如下所示:
流程
- 转至" 映射程序 "选项卡。
点 Create。
添加映射程序
- 从列表中选择一个 映射程序类型。
12.4.1. 优先级顺序 复制链接链接已复制到粘贴板!
映射程序实施的 优先级顺序.优先级顺序 不是 mapper 的配置属性。它是映射程序实施的特性。
映射程序按映射程序列表按顺序排序。令牌或断言的变化会首先应用最低应用。因此,依赖其他实施的实施会按照必要的顺序处理。
例如,计算将要包含在令牌的角色:
- 基于这些角色解决受众。
- 处理使用令牌中已经提供的角色和受众的 JavaScript 脚本。
12.4.2. OIDC 用户会话备注映射程序 复制链接链接已复制到粘贴板!
用户会话详情使用 mapper 定义,当您使用或启用客户端的功能时会自动包含用户会话详情。点 Add builtin 包含会话详情。
模拟的用户会话提供以下详情:
- IMPERSONATOR_ID :模拟用户的 ID。
- IMPERSONATOR_USERNAME :模拟用户的用户名。
服务帐户会话提供以下详情:
- clientID :服务帐户的客户端 ID。
- clientAddress :服务帐户验证设备的远程主机 IP。
- clientHost :服务帐户验证设备的远程主机名。
12.4.3. script mapper 复制链接链接已复制到粘贴板!
使用 Scriptmapper,通过运行用户定义的 JavaScript 代码将声明映射到令牌。有关将脚本部署到服务器的详情,请参阅 JavaScript Providers。
部署脚本时,您应该能够从可用的映射程序列表中选择部署的脚本。