创建一个 OIDC 提供商

将本地 OIDC 提供商与 IBM® Verify 集成,可以简化用户管理、增强安全性并提升用户体验。

准备工作

  • 您必须具有管理许可权,才能完成此任务。
  • 以管理员身份登录管理控制台 IBM Verify 如需了解更多信息,请参阅《 访问 IBM Verify 》。

过程

  1. 选择 “集成” > “OIDC 提供商 ”。
  2. 点击 “创建 OIDC 提供商 ”。
    该功能预设用于身份验证。 有关身份验证的信息,请参阅《 管理身份验证》。
  3. 单击下一步
  4. 在 OIDC 提供商页面中的 “名称和联系方式 ”部分,请输入以下值。
    1. 请输入您新 OIDC 提供商的名称
    2. 可选: 输入联系人姓名
    3. 可选: 输入联系人邮箱
  5. 点击 “下一步”……
  6. 在 OIDC 提供商页面中的 “连接详细信息”部分,输入以下值。
    1. 请输入客户端 ID
    2. 请输入客户端密钥
    3. 请输入发行人。
    4. 输入数据 URL。
    5. 可选: 提供一个广为人知的 URL。
    6. 请输入授权码 URL。
    7. 请输入令牌 URL
    8. 可选: 输入 JWKS URI
    9. 可选: 输入作用域。
      注意: 选择其他范围时,必须选中 “意见”
    10. 选择代码验证方式,可选 “纯文本 ”或“ S256 ”。
    11. 可选: 提供一个 JWS 算法。
    12. 授权码被预设为 “Grant ”类型。
    13. 勾选您首选的 “响应 ”类型的复选框。
    14. 选择 “令牌端点”身份验证方法
    15. 选择 “授权 HTTP ”方法。
    16. 选择响应模式
  7. 可选: 点击复选框以禁用“使用 PKCE”。
  8. 点击 “创建”
    OIDC 提供商以编辑模式打开。
  9. 对 OIDC 提供商字段进行任何更改。
  10. “资源 ”部分的 “传出转换 ”部分中,使用自定义规则计算属性值。
    以下是发出的转换中支持的属性的示例。
    授权
    
        request
            Map<String, Object>
        claims
            Map<String, List<String>>
        login_hint
            String
        custom_parameters
            Map<String, List<String>>
        custom_header_parameters
            Map<String, Object>
        subject
            String
    
    Current supported parameters are returned in a JSON
    
        - context: output := {}
        ....   
        - return: jsonToString(context.output)
    令牌
    
        client_assertion
            Map<String, Object>
        custom_parameters
            Map<String, List<String>>
        custom_header_parameters
            Map<String, Object>
        subject
            String
    
    Current supported parameters are returned in a JSON
    
        - context: output := {}
        ....
        - return: jsonToString(context.output)
    
    
  11. “资源 ”页面的 “传入转换 ”部分,使用自定义规则计算属性值。
    授权
    • 对作为授权请求响应发送的数据进行转换。
    令牌
    • 对令牌请求的响应进行转换。
    • 从 ID 令牌中提取数据,并将其插入用户上下文中。
    • 当前支持的参数。
    
        decision
            String
    
    Current supported parameters be returned in a JSON
    
        - context: output := {}
        ....
        - return: jsonToString(context.output)
    
    
  12. 点击 “创建”