OpenID Connect 自省、标识令牌和用户信息映射
IBM® Verify 中的 OAuth 和 Open ID Connect 会创建授权。 此授权包含自省响应中包含的属性和值,以及标识令牌和用户信息响应。
通常,这些属性会添加到授权中,因为它们与下列其中一个条件匹配:
- 是
preferred_username之类的缺省属性。 - 通过使用
scope和claims以根据授权请求进行计算。 - 基于属性映射和请求映射。
过程
您可以在标识令牌和用户信息映射和自省映射之间进行选择。 这两者的过程是相同的。 为前者定义的属性将被添加到签发的 ID 令牌中,并包含在 API 响应中 userinfo 。 对于自省映射,已定义的属性将添加到自省响应中。
注意: 属性值是在请求端点根据授权类型计算得出的。 例如,在授权码流程中,这些值是在请求 /authorize 中生成的。
- 单击 ”,然后选择您的应用程序。
- 点击设置图标,点击 “登录 ”选项卡,然后滚动至 “端点配置 ”。
- 点击 “编辑 ”图标,查看 Introspect 或 ID 令牌及用户信息。
- 关于 ID 令牌和用户信息 ,
- 选中 “仅返回最低要求的主张 ”复选框,将 ID 令牌中的主张数量减少到规范要求的最低限度。 参见 OpenID Connect Core 1.0 ,其中包含第 2 版更正集 ID Token。 请求中的范围和声明参数、 “在 ID 令牌中发送所有已知用户属性”选项 ,以及后续的任何属性映射,均在最低声明要求的基础上仍然适用。注意: 使用最低声明生成的 ID 令牌无法用于令牌兑换。
- 选中“在 ID 令牌中发送所有已知用户属性 ”复选框,即可在 ID 令牌中包含内置标准属性和扩展属性。 扩展属性是由 SAML Enterprise身份提供商提供的额外属性。
- 选中 “仅返回最低要求的主张 ”复选框,将 ID 令牌中的主张数量减少到规范要求的最低限度。 参见 OpenID Connect Core 1.0 ,其中包含第 2 版更正集 ID Token。 请求中的范围和声明参数、 “在 ID 令牌中发送所有已知用户属性”选项 ,以及后续的任何属性映射,均在最低声明要求的基础上仍然适用。
- 点击 “添加属性 ”。
- 从菜单中选择 Verify 属性。 您可以通过在 Verify 属性菜单中选择“定制规则”来编写定制规则以计算属性值,而不选择特定属性。 有关属性的更多信息,请参阅Managing attributes。
- (可选)选择简单变换。
- 指定依赖方需要发送的目标属性的名称。 例如,Verify 使用
given_name作为用户的给定名称。 如果依赖方要求将此属性作为firstName包含在标识令牌中,那么请使用firstName作为目标属性的名称。 aud以下属性无法被覆盖: exp, groupIds, groupUids, at_hash, c_hash, rt_hash, s_hash, iat, iss,, nonce, sub, client_id, grant_id, grant_type 以及 scope。注意: 该 sub 属性仅可用于 ID 令牌和用户信息属性映射,且该映射适用于内省、JWT 访问令牌、ID 令牌和用户信息。 - 选中 “刷新时更新 ”复选框,以便在刷新令牌流程中更新此属性。注意: 此更新不包含登录会话属性,而是依赖于 Cloud Directory 中的自定义属性规则或用户属性值。
- 选中 “需要同意 ”复选框,仅在已同意相关范围的情况下生成此属性。
- 添加所有属性映射后,单击确定。 请注意,这些更改不会保存。
- 在应用程序上单击保存以保存更改。
编辑标识令牌和用户信息部分,并执行以下步骤以配置
userinfo 响应类型:- 选中 userinfo 的 JWT 响应复选框。 用户信息响应将为 JSON Web 令牌 (JWT) 格式。
- 从下拉列表中选择签名算法。
- 从下拉列表中选择签署证书。
如果选择了 ES256 签名算法,那么证书必须是具有 P-256 的 ECDSA。 如果选择了 ES384 签名算法,那么证书必须是具有 P-384 的 ECDSA。 如果选择了 ES512 签名算法,那么证书必须具有 P-521 的 ECDSA。
- 从下拉列表中选择加密算法。 如果不需要加密,请选择无。
- 从下拉列表中选择内容算法。 如果不需要加密,请选择无。
- 从下拉列表中选择加密密钥。 如果不需要加密,请将其保留为空白或取消选中该框。
定制规则
如果您在第 4 步的 “操作 ”中选择了 “自定义规则 ”,请点击编辑图标以显示高级规则界面。 参见 “属性函数 ”。 语法文档中所描述的所有域对象都可用。