This documentation is for a release that is no longer maintained
See documentation for the latest supported version.7.2. 在 Red Hat Developer Hub 中使用 Amazon Cognito 作为身份验证供应商
在本节中,Amazon Cognito 是一个 AWS 服务,用于在 Developer Hub 中添加身份验证层。您可以使用用户池或通过第三方身份提供程序直接登录到 Developer Hub。
虽然 Amazon Cognito 不是 Developer Hub 的核心身份验证提供程序的一部分,但可以使用通用 OpenID Connect (OIDC)供应商集成。
您可以在 Helm Chart 和 Operator 支持的部署中配置 Developer Hub。
先决条件
您有一个 User Pool,或者您已创建一个新池。有关用户池的更多信息,请参阅 Amazon Cognito 用户池 文档。
注意确保您已记下用户池所在的 AWS 区域,以及用户池 ID。
您已在用户池中创建了 App Client 来集成托管 UI。如需更多信息,请参阅使用 Amazon Cognito 控制台设置托管 UI。
当使用 Amazon Cognito 控制台设置托管 UI 时,请确保进行以下调整:
-
在 Allowed callback URL (s) 部分中,包含 URL
https://<rhdh_url>/api/auth/oidc/handler/frame
。确保将 <rhdh_url
> 替换为您的 Developer Hub 应用程序的 URL,如my.rhdh.example.com
。 -
同样,在 Allowed sign-out URL (s) 部分中,添加
https://<rhdh_url>
。将<rhdh_url
> 替换为您的 Developer Hub 应用程序的 URL,如my.rhdh.example.com
。 - 在 OAuth 2.0 授权类型 下,选择 Authorization code grant 以返回授权代码。
在 OpenID Connect 范围 下,确保至少选择以下范围:
- OpenID
- profile
- 电子邮件
- Helm 部署
流程
编辑或创建自定义
app-config-rhdh
ConfigMap,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下模板编辑或创建自定义
secret-rhdh
Secret:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
values.yaml
文件中添加 ConfigMap 和 Secret 资源的引用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 升级 Helm 部署:
helm upgrade rhdh \ openshift-helm-charts/redhat-developer-hub \ [--version 1.2.6] \ --values /path/to/values.yaml
helm upgrade rhdh \ openshift-helm-charts/redhat-developer-hub \ [--version 1.2.6] \ --values /path/to/values.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Operator 支持的部署
将以下代码添加到
app-config-rhdh
ConfigMap 中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下代码添加到
secret-rhdh
Secret 中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保您的自定义资源包含对
app-config-rhdh
ConfigMap 和secrets-rhdh
Secret 的引用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您有一个由自定义资源支持的现有 Developer Hub 实例,且没有编辑它,您可以手动删除 Developer Hub 部署以使用 Operator 重新创建它。运行以下命令以删除 Developer Hub 部署:
kubectl delete deployment -l app.kubernetes.io/instance=<CR_NAME>
kubectl delete deployment -l app.kubernetes.io/instance=<CR_NAME>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 Allowed callback URL (s) 部分中,包含 URL
验证
- 进入 Developer Hub web URL 并使用 OIDC 身份验证签名,这会提示您通过配置的 AWS Cognito 用户池进行身份验证。
- 登录后,访问 Settings 并验证用户详情。