5.4.2. 配置 RH SSO 以验证开发人员门户
执行以下步骤来配置 Red Hat Single Sign-On:
- 按照 Red Hat Single Sign-On 文档所述创建域。
- 将客户端添加到客户端并单击创建。
使用以下字段和值填写表单:
- 客户端 ID :为您的客户端输入所需的名称。
-
启用 :切换到
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_verified
mapper。3scale 要求将用户数据的email_verified
claim 设置为true
。要将 "电子邮件验证"用户属性 映射到email_verified
声明:- 转至 客户端的映射程序 选项卡。
单击 Add Builtin。
选择 电子邮件验证 选项,然后单击 Add selected 以保存更改。
如果您管理 Red Hat Single Sign-On local 数据库中的用户,请确保将该用户的 Email Verified 属性设置为
ON
。如果使用 User Federation,则在为 3scale SSO 集成创建的客户端中,您可以通过将令牌名称设置为
email_verified
,并将声明值设置为true
来配置硬编码声明。
(可选)配置
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。
如果 Red Hat Single Sign-On 中的用户具有
org_name
属性,3scale 将自动创建一个帐户。如果没有,则会要求用户在创建帐户之前指示机构名称。另外,也可以创建类型 硬编码声明的 映射程序,将机构名称设置为使用 Red Hat Single Sign-On 帐户登录的所有用户的硬编码值。
-
要测试集成,您需要添加用户。要实现此目的,请导航到 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 作为我们的身份提供程序。
在 Red Hat Single Sign-On 中,在 身份提供程序 中配置 GitHub 后,转至名为 Mappers 的选项卡,再单击 Create。
- 为它指定一个名称,以便可以识别它。
- 在映射类型中,选择 Attribute Importer。
- 在 Social Profile JSON Field Path 中添加公司,它是 GitHub 上属性的名称。
在 User Attribute Name 中,添加 org_name,这是我们在 Red Hat Single Sign-On 中调用属性的方式。
注意Red Hat Single Sign-On 需要第一个和姓氏以及电子邮件以及必填项。3scale 需要电子邮件地址、用户名和机构名称。因此,除了为机构名称配置映射程序外,还能够跳过这两个用户,请确保:
- 在 IdP 帐户中,它们会设置其名字和姓氏。
- 在 IdP 账户中,可以访问其电子邮件地址。例如在 GitHub 中,如果您的电子邮件地址设置为私有,则不会共享它。