5.4. 通过 Red Hat Single Sign-On 启用和禁用身份验证

注意

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

Red Hat Single Sign-On(RH-SSO)是一个集成的 Sign-On 解决方案(SSO),它可与 3scale 一起使用时,允许您使用任何可用的 RH-SSO 身份提供程序和用户联合选项来验证您的开发人员。

有关 Red Hat Single Sign-On 版本与 3scale 兼容的信息,请参阅支持的 配置 页面。

5.4.1. 开始前

在将 Red Hat Single Sign-On 与 3scale 集成前,您必须有一个正常工作的红帽单点登录实例。有关安装说明,请参阅 Red Hat Single Sign-On 文档: 安装 RH-SSO 7.2

5.4.2. 配置 RH SSO 以验证开发人员门户

执行以下步骤来配置 Red Hat Single Sign-On:

  1. 按照 Red Hat Single Sign-On 文档所述创建域。
  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

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

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

      RH-SSO
    • 选择 电子邮件验证 选项,然后单击 Add selected 以保存更改。

      RH-SSO

      如果您管理 Red Hat Single Sign-On local 数据库中的用户,请确保将该用户的 Email Verified 属性设置为 ON

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

  6. (可选)配置 org_name mapper。
    当用户在 3scale 中注册时,会要求用户使用 Organization Name 值填写注册表单。为了通过 Red Hat Single Sign-On 透明登录,不需要在开发者门户上填写注册表格,您需要配置一个额外的 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

      RH-SSO

      如果 Red Hat Single Sign-On 中的用户具有 org_name 属性,3scale 将自动创建一个帐户。如果没有,则会要求用户在创建帐户之前指示机构名称。另外,也可以创建类型 硬编码声明的 映射程序,将机构名称设置为使用 Red Hat Single Sign-On 帐户登录的所有用户的硬编码值。

  7. 要测试集成,您需要添加用户。要实现此目的,请导航到 Users,单击 Add user,再填写所需字段。请注意,当您在 Red Hat Single Sign-On 中创建用户时,将 Email Verified 属性(email_verified)设置为 ON,否则用户将不会在 3scale 中激活。

使用 Red Hat Single Sign-On 作为身份代理

您可以使用 Red Hat Single Sign-On 作为身份代理,或者将其配置为联合外部数据库。有关如何配置这些的更多信息,请参阅 Red Hat Single Sign-On 文档来了解 身份代理用户联合

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

  1. 在 Red Hat Single Sign-On 中,在 身份提供程序 中配置 GitHub 后,转至名为 Mappers 的选项卡,再单击 Create

    RH-SSO
  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 需要第一个和姓氏以及电子邮件以及必填项。3scale 需要电子邮件地址、用户名和机构名称。因此,除了为机构名称配置映射程序外,还能够跳过这两个用户,请确保:

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

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

作为 API 供应商,配置 3scale 以允许使用红帽单点登录(RH-SSO)进行身份验证。

注意

默认不通过 RH-SSO 进行身份验证。RH-SSO 仅适用于企业 3scale 帐户,因此您需要要求您的帐户管理器通过 RH-SSO 启用身份验证。

先决条件

  • 您的企业 3scale 帐户设置为启用 RH-SSO。
  • 配置 RH SSO 以验证开发人员门户后,您已了解以下信息:

    • Client: RH-SSO 中的客户端名称
    • 客户端 secret :RH-SSO 中的客户端 secret
    • :您的 RH-SSO 帐户的域名称和 URL 地址

流程

  1. 在 3scale 管理门户中,选择 Audience > Developer Portal > SSO Integrations
  2. Red Hat Single Sign-On
  3. 指定您在 第 5.4.2 节 “配置 RH SSO 以验证开发人员门户” 中配置 RH-SSO 客户端的详细信息:客户端、客户端 secret 和 realm。
  4. 要保存您的更改,请点击 Create Red Hat Single Sign-On