搜索

9.5. OpenID Connect v1.0 身份提供程序

download PDF

Red Hat Single Sign-On 代理基于 OpenID Connect 协议的身份供应商。这些身份提供程序(IDP)必须支持规格中定义的 授权代码流 来验证用户并授权访问权限。

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 OpenID Connect v1.0

    添加身份提供程序

    Add Identity Provider

  3. 输入您的初始配置选项。有关配置选项的更多信息,请参阅 常规 IDP 配置

    表 9.2. OpenID 连接配置
    Configuration描述

    授权 URL

    OIDC 协议所需的授权 URL 端点。

    令牌 URL

    OIDC 协议所需的令牌 URL 端点。

    注销 URL

    OIDC 协议中的注销 URL 端点。这个值是可选的。

    Backchannel Logout

    一个后台,带外 REST 请求 IDP 以注销用户。有些 IDP 仅通过浏览器重定向执行注销,因为它们可能会使用浏览器 Cookie 来识别会话。

    User Info URL

    OIDC 协议定义的端点。此端点指向用户配置文件信息。

    客户端身份验证

    定义 Red Hat Single Sign-On 与授权代码流一起使用的客户端身份验证方法。如果 JWT 使用私钥签名,Red Hat Single Sign-On 会使用 realm 私钥。在其他情况下,定义客户端 secret。如需更多信息,请参阅客户端身份验证 规格

    客户端 ID

    充当外部 IDP 的 OIDC 客户端的域。如果您使用授权代码流与外部 IDP 交互,则域必须具有 OIDC 客户端 ID。

    Client Secret

    来自外部 密码库的客户端机密。如果您使用授权代码流,则需要此 secret。

    Client Assertion Signature Algorithm

    创建 JWT 断言作为客户端身份验证的签名算法。如果 JWT 使用私钥或客户端机密签名为 jwt,则需要它。如果没有指定算法,则会调整以下算法。如果 JWT 使用私钥签名,则 RS256 被调整。HS256 以 jwt 的身份调整客户端机密。

    Issuer

    Red Hat Single Sign-On 根据此值验证来自 IDP 的签发者声明。

    默认范围

    OIDC 范围列表 Red Hat Single Sign-On 使用身份验证请求发送。默认值为 openid。每个范围分隔一个空格。

    提示

    OIDC 规格中的 prompt 参数。通过此参数,您可以强制重新验证和其他选项。如需了解更多详细信息,请参阅规格。

    接受来自客户端的 prompt=none 转发

    指定 IDP 是否接受包含 prompt=none 查询参数的身份验证请求。如果 realm 收到了带有 prompt=none 的 auth 请求,则域会检查用户当前是否通过身份验证,并在用户没有登录时返回 login_required 错误。当 Red Hat Single Sign-On 确定 auth 请求的默认 IDP (使用 kc_idp_hint 查询参数或者具有域的默认 IDP)时,您可以将带有 prompt=none 的 auth 请求转发到默认的 IDP。默认 IDP 检查用户那里的身份验证。因为并非所有 IDP 都支持带有 prompt=none 的请求,Red Hat Single Sign-On 会使用此切换来指示默认 IDP 支持参数,然后再重定向身份验证请求。

    如果用户在 IDP 中未经身份验证的身份验证,客户端仍然会收到 login_required 错误。如果用户在 IDP 中是验证,如果 Red Hat Single Sign-On 必须显示需要 用户交互的身份验证页面,则客户端仍然可以收到 interact_required 错误。此身份验证包括所需的操作(如密码更改)、同意屏幕,以及 first broker login 流或 post broker login 流显示的屏幕。

    验证签名

    指定 Red Hat Single Sign-On 验证此 IDP 签名的外部 ID 令牌上的签名。如果 ON,Red Hat Single Sign-On 必须知道外部 OIDC IDP 的公钥。为了提高性能,Red Hat Single Sign-On 会缓存外部 OIDC 身份提供程序的公钥。如果您的身份提供程序的私钥被破坏,请更新您的密钥并清除密钥缓存。如需了解更多详细信息 ,请参阅清除 cache 部分。

    使用 JWKS URL

    如果验证签名为 ON ,则此 切换适用。如果使用 JWKS URLON,Red Hat Single Sign-On 从 JWKS URL 下载 IDP 的公钥。身份提供程序生成新密钥对时下载新密钥。如果 OFF,Red Hat Single Sign-On 使用其数据库的公钥(或证书),因此当 IDP 密钥对更改时,将新密钥导入到 Red Hat Single Sign-On 数据库。

    JWKS URL

    指向 IDP JWK 密钥位置的 URL。如需更多信息,请参阅 JWK 规格。如果您使用外部 Red Hat Single Sign-On 作为 IDP,如果您的 Red Hat Single Sign-On 在 http://broker-keycloak:8180 上运行,且其 realm 为 test,您可以使用 URL,比如 http://broker-keycloak:8180/auth/realms/test/protocol/openid-connect/certs

    验证公钥

    Red Hat Single Sign-On 用来验证外部 IDP 签名的公钥。如果 Use JWKS URLOFF,则适用此密钥。

    验证公钥 Id

    如果 Use JWKS URLOFF,则适用此设置。此设置以 PEM 格式指定公钥的 ID。由于没有密钥计算密钥 ID 的标准方式,外部身份提供程序可以从 Red Hat Single Sign-On 使用的不同算法使用不同的算法。如果没有指定此字段的值,Red Hat Single Sign-On 会使用所有请求的公钥,无论外部 IDP 发送的密钥 ID 是什么。当 ON 时,此字段的值是 Red Hat Single Sign-On 用来验证来自供应商的签名的密钥 ID,并且必须与 IDP 指定的密钥 ID 匹配。

您可以通过提供指向 OpenID Provider 元数据的 URL 或文件来导入所有这些配置数据。如果您连接到 Red Hat Single Sign-On 外部 IDP,您可以从 < root>/auth/realms/{realm-name}/.well-known/openid-configuration 中导入 IDP 设置。此链接是一个 JSON 文档,描述有关 IDP 的元数据。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.