This documentation is for a release that is no longer maintained
See documentation for the latest supported version.10.2. 使用 OIDC 身份验证供应商配置 Keycloak
Red Hat Developer Hub 包含一个 OIDC 身份验证供应商,可以使用 Keycloak 验证用户。
重要
您在 Keycloak 中创建的用户还必须在 Developer Hub 目录中提供。
流程
-
在 Keycloak 中,创建一个新域,如
RHDH
。 添加新用户。
- 用户名
-
用户的用户名,例如:
rhdhuser
- 电子邮件
- 用户的电子邮件地址。
- 名
- 用户的名字。
- 姓
- 用户的姓氏。
- 验证电子邮件
- 切换到 On。
- 点 Create。
- 导航到 Credentials 选项卡。
- 单击 Set password。
- 输入 用户帐户的密码,并将 Temporary 切换到 Off。
创建新的客户端 ID,例如
RHDH
。- 客户端身份验证
- 切换到 On。
- 有效的重定向 URI
-
设置为 OIDC 处理程序 URL,例如
https://<RHDH_URL>/api/auth/oidc/handler/frame
。
- 导航到 Credentials 选项卡,再复制 Client secret。
- 为下一步保存客户端 ID 和客户端 Secret。
在 Developer Hub 中,在 Developer Hub secret 中添加您的 Keycloak 凭证。
- 编辑 Developer Hub secret,如 secrets-rhdh。
添加以下键/值对:
AUTH_KEYCLOAK_CLIENT_ID
-
输入您在 Keycloak 中生成的客户端 ID,如
RHDH
。 AUTH_KEYCLOAK_CLIENT_SECRET
- 输入您在 Keycloak 中生成的客户端 Secret。
在 Developer Hub 自定义配置中设置 OIDC 身份验证供应商。
-
编辑自定义 Developer Hub ConfigMap,如
app-config-rhdh
。 在
app-config-rhdh.yaml
内容中,在 rootauth
配置下添加oidc
供应商配置,并为 sign-in 启用oidc
供应商:app-config-rhdh.yaml
fragmentauth: environment: production providers: oidc: production: clientId: ${AUTH_KEYCLOAK_CLIENT_ID} clientSecret: ${AUTH_KEYCLOAK_CLIENT_SECRET} metadataUrl: ${KEYCLOAK_BASE_URL}/auth/realms/${KEYCLOAK_REALM} prompt: ${KEYCLOAK_PROMPT} # recommended to use auto ## Uncomment for additional configuration options #callbackUrl: ${KEYCLOAK_CALLBACK_URL} #tokenEndpointAuthMethod: ${KEYCLOAK_TOKEN_ENDPOINT_METHOD} #tokenSignedResponseAlg: ${KEYCLOAK_SIGNED_RESPONSE_ALG} #scope: ${KEYCLOAK_SCOPE} signInPage: oidc
auth: environment: production providers: oidc: production: clientId: ${AUTH_KEYCLOAK_CLIENT_ID} clientSecret: ${AUTH_KEYCLOAK_CLIENT_SECRET} metadataUrl: ${KEYCLOAK_BASE_URL}/auth/realms/${KEYCLOAK_REALM} prompt: ${KEYCLOAK_PROMPT} # recommended to use auto ## Uncomment for additional configuration options #callbackUrl: ${KEYCLOAK_CALLBACK_URL} #tokenEndpointAuthMethod: ${KEYCLOAK_TOKEN_ENDPOINT_METHOD} #tokenSignedResponseAlg: ${KEYCLOAK_SIGNED_RESPONSE_ALG} #scope: ${KEYCLOAK_SCOPE} signInPage: oidc
Copy to Clipboard Copied!
-
编辑自定义 Developer Hub ConfigMap,如
验证
-
重启
backstage-developer-hub
应用程序以应用更改。 - 您的 Developer Hub 登录页面显示 使用 OIDC 登录。