5.4.2. 配置 RH SSO 以验证开发人员门户
执行以下步骤配置 Red Hat Single Sign-On:
- 如红帽单点登录文档 中所述,创建一个域。
- 前往 Clients 并单击 Create 来添加一个客户端。
考虑以下字段和值填写表单:
- 客户端 ID :为您的客户端键入所需的名称。
-
Enabled :切换到
ON。 -
需要同意 :切换到
OFF. - 客户端协议 :选择 openid-connect。
- 访问类型 :选择 机密.
-
标准流启用 :切换到
ON. -
根 URL :键入 3scale 管理门户 URL。这应该是您用来登录到开发人员门户的 URL 地址,例如:
https://yourdomain.3scale.net或您的自定义 URL。 有效的重定向 URL :按以下方式再次键入您的开发人员门户
:https://yourdomain.3scale.net/*所有其他参数都应留空,或切换到
OFF。
通过以下步骤获取客户端 secret:
- 转至您刚才创建的客户端。
- 单击 Credentials 选项卡。
在 Client Authenticator 字段中选择 Client Id 和 Secret。

配置
email_verifiedmapper.3scale 要求将用户数据的email_verified声明设置为true。要将"电子邮件 验证" 用户属性映射到email_verified声明:- 转到 客户端的映射器 选项卡。
单击 Add Builtin。

选择 已验证的电子邮件,然后单击 选中的 Add 以保存更改。

如果您在 Red Hat Single Sign-On 本地数据库中管理用户,请确保该用户的 Email Verified 属性设为
ON。如果使用 User Federation,在之前为 3scale SSO 集成创建的客户端中,您可以通过将令牌名称设置为
email_verified并将 claim 值设置为true来配置硬编码的声明。
(可选)配置
org_name映射器。
当用户以 3scale 进行签名时,要求用户使用 Organization Name 值填写注册表单。要通过 Red Hat Single Sign-On 注册(不需要填写开发人员门户上的注册表),您需要配置额外的org_namemapper:- 转到 客户端的映射器 选项卡。
- 点 Create。
按如下所示填写 mapper 参数:
-
Name :键入任何所需名称,如
org_name。 -
需要同意 :切换到
OFF. - mapper Type :选择 User Attribute。
- User Attribute :键入 org_name.
- Token Claim Name :键入 org_name。
- claim JSON 类型 :选择 String。
-
添加至 ID token: 切换到
ON。 -
Add to access token: switch to
ON. -
添加到 userinfo: 切换到
ON。 -
multivalued :切换到
OFF。
-
Name :键入任何所需名称,如
点 Save。

如果红帽单点登录中的用户具有
org_name属性,3scale 将可以自动创建帐户。如果没有,系统将要求用户在创建帐户之前指定组织名称。或者,也可以创建类型为 Hardcoded 声明 的映射器,将机构名称设置为所有使用红帽单点登录帐户登录的所有用户的硬编码值。
-
要测试集成,您需要添加用户。要做到这一点,请导航到 Users,单击 Add user,再填写必填字段。请注意,在红帽单点登录中创建用户时,电子邮件验证属性(
email_verified)应设为ON,否则用户将不会在 3scale 中激活。
使用红帽单点登录作为身份代理
您可以使用红帽单点登录作为身份代理,或将其配置为联合外部数据库。有关如何配置这些配置的详情,请查看 Red Hat Single Sign-On 文档 for identity brokering 和 user federation。
如果您决定使用红帽单点登录作为身份代理,并且希望开发人员能够跳过 RH-SSO 和 3scale 帐户创建步骤,我们推荐以下配置:在提供的示例中,我们使用 GitHub 作为我们的身份提供程序。
在 Red Hat Single Sign-On 中,在在 身份提供程序 中配置 GitHub 后,前往名为 Mappers 的选项卡,再单击 Create。

- 给它取一个名称,以便您可以识别它。
- 在 Mapper Type 中,选择 Attribute Importer。
- 在 社交配置文件 JSON 字段路径 添加公司中,该公司是 GitHub 上属性的名称。
在 User Attribute Name 中,添加 org_name,这正是我们在红帽单点登录中称为 属性的方式。
注意红帽单点登录需要名字和姓氏以及电子邮件作为必填字段。3scale 需要电子邮件地址、用户名和组织名称。因此,除了为机构名称配置映射程序,并让您的用户能够跳过两个注册表单外,请确保:
- 在 IdP 帐户中,它们设置了自己的姓名和姓氏。
- 在 IdP 帐户中,可以访问其电子邮件地址。例如.在 GitHub 中,如果您将您的电子邮件地址设置为私有,它就不会共享。