5.4. 通过 Red Hat Single sign-on 和 Red Hat build of Keycloak 启用和禁用身份验证


注意

此功能仅对企业计划提供。

Red Hat Single sign-on 和 Red Hat build of Keycloak 是一个集成的单点登录解决方案(SSO),与 3scale 结合使用时,您可以使用任何可用的 Red Hat 单点登录身份代理和用户联合选项验证您的开发人员。

如需了解单点登录的版本与 3scale 兼容的信息,请参阅支持的配置页面。https://access.redhat.com/articles/2798521

5.4.1. 开始前

在将单点登录与 3scale 集成前,您必须有一个正常工作的 Red Hat 单点登录或红帽构建的 Keycloak 实例。有关安装说明,请参阅 Red Hat Single sign-on 文档Red Hat build of Keycloak 文档

5.4.2. 配置单点登录以验证开发人员门户

执行以下步骤来配置单点登录:

  1. 创建一个域,如 Red Hat Single sign-on 文档Red Hat build of Keycloak 文档所述
  2. 将客户端添加到客户端并单击创建
  3. 使用以下字段和值填写表单:

    • 客户端 ID :为您的客户端输入所需的名称。
    • 启用 :切换到 ON
    • 许可需要 :切换到 OFF
    • 客户端协议 :选择 openid-connect
    • 访问类型 :选择 机密
    • 标准化流启用 :切换到 ON
    • 根 URL :输入您的 3scale 管理门户 URL。这应该是您用来登录开发人员门户的 URL 地址,例如 :https://yourdomain.3scale.net 或您的自定义 URL。
    • 有效的重定向 URL :通过 /* 再次键入开发人员门户,如下所示: https://yourdomain.3scale.net/*

      所有其他参数都应留空,或切换到 OFF

  4. 通过以下步骤获取客户端 secret:

    • 前往您刚才创建的客户端。
    • Credentials 标签页。
    • Client Authenticator 字段中选择 Client Id 和 Secret

      Red Hat Single sign-on
  5. 配置 email_verified mapper。3scale 要求将用户数据的 email_verified claim 设置为 true。要将 "电子邮件验证"用户属性 映射到 email_verified 声明:

    • 转至 客户端的映射程序 选项卡。
    • 单击 Add Builtin

      Red Hat Single sign-on
    • 选择 电子邮件验证 选项,然后单击 Add selected 以保存更改。

      Red Hat Single sign-on

      如果您在单点登录本地数据库中管理用户,请确保将用户的 Email Verified 属性设置为 ON

      如果使用 用户联邦,则在为 3scale SSO 集成创建的客户端中,您可以通过将令牌名称设置为 email_verified,并将声明值设置为 true 来配置硬编码声明。

  6. (可选)配置 org_name mapper。
    当用户在 3scale 中注册时,会要求用户使用 Organization Name 值填写注册表单。为了通过单点登录为用户透明注册,无需在开发人员门户上填写注册表格,您需要配置一个额外的 org_name 映射器:

    • 转至 客户端的映射程序 选项卡。
    • Create
    • 按如下所示填写mapper 参数:

      • 名称 :键入任何所需名称,例如 org_name
      • 许可需要 :切换到 OFF
      • 映射器类型 :选择 User Attribute
      • 用户属性: 键入 org_name
      • 令牌声明名称 :键入 org_name
      • claim JSON Type: 选择 String
      • 添加到 ID 令牌 :切换到 ON
      • 添加到访问令牌 :切换到 ON
      • 添加到 userinfo :切换到 ON
      • Multivalued: 切换到 OFF
    • Save

      Red Hat Single sign-on

      如果单点登录中的用户具有属性 org_name,3scale 将能够自动创建帐户。如果没有,则会要求用户在创建帐户之前指示机构名称。或者,也可以创建类型为 Hardcoded claim 的映射程序,将机构名称设置为使用单点登录帐户登录的所有用户的硬编码值。

  7. 要测试集成,您需要添加用户。要实现此目的,请导航到 Users,单击 Add user,再填写所需字段。请注意,当您在 Red Hat 单点登录中创建用户时,电子邮件验证属性(email_verified)应设置为 ON,否则不会在 3scale 中激活该用户。

使用 Red Hat Single sign-on 或 Red Hat build of Keycloak 作为身份代理

您可以使用 Red Hat 单点登录和红帽构建的 Keycloak 作为身份代理,或者将其配置为联合外部数据库。有关如何配置这些的更多信息,请参阅 Red Hat Single sign-on 或 Red Hat build of Keycloak and user federation documentation for Red Hat single sign-onRed Hat build of Keycloak 的身份代理文档。

如果您决定将单点登录用作身份代理,并且希望开发人员能够跳过 SSO 和 3scale 帐户创建步骤,我们建议以下配置:在提供的示例中,我们使用 GitHub 作为我们的身份提供程序。

  1. 在单点登录中,在 身份提供程序 中配置 GitHub 后,转至名为 Mappers 的选项卡,再单击创建

    Red Hat Single sign-on
  2. 为它指定一个名称,以便可以识别它。
  3. 映射类型中,选择 Attribute Importer
  4. Social Profile JSON Field Path 中添加公司,它是 GitHub 上属性的名称。
  5. User Attribute Name 中,添加 org_name,这是我们在 Red Hat Single sign-on 中调用属性的方式。

    注意

    Red Hat Single sign-on 和 Red Hat build of Keycloak 需要名字和姓氏以及电子邮件以及必填字段。3scale 需要电子邮件地址、用户名和机构名称。因此,除了为机构名称配置映射程序外,还能够跳过这两个用户,请确保:

    • 在 IdP 帐户中,它们会设置其名字和姓氏。
    • 在 IdP 账户中,可以访问其电子邮件地址。例如,在 GitHub 中,如果您将电子邮件地址设置为私有,则不会共享它。

5.4.3. 配置 3scale API 管理以验证开发人员门户

作为 API 提供程序,配置 3scale 以允许使用红帽单点登录进行身份验证。

注意

默认情况下不启用通过 Red Hat Single sign-on 进行身份验证。Red Hat 单点登录仅适用于企业 3scale 帐户,因此您需要要求您的帐户管理器通过 Red Hat Single sign-on 启用身份验证。

先决条件

流程

  1. 在 3scale 管理门户中,选择 Audience > Developer Portal > SSO Integrations
  2. Red Hat Single Sign-On
  3. 指定您在配置 Red Hat Single Sign-On 中配置的 Red Hat Single Sign-On 客户端的详情,以验证开发人员门户 : client、client secret 和 realm。
  4. 要保存您的更改,请点击 Create Red Hat Single Sign-On
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat