搜索

10.2. 使用 OIDC 身份验证供应商配置 Keycloak

download PDF

Red Hat Developer Hub 包含一个 OIDC 身份验证供应商,可以使用 Keycloak 验证用户。

重要

您在 Keycloak 中创建的用户还必须在 Developer Hub 目录中提供。

流程

  1. 在 Keycloak 中,创建一个新域,如 RHDH
  2. 添加新用户。

    用户名
    用户的用户名,例如: rhdhuser
    电子邮件
    用户的电子邮件地址。
    用户的名字。
    用户的姓氏。
    验证电子邮件
    切换到 On
  3. Create
  4. 导航到 Credentials 选项卡。
  5. 单击 Set password
  6. 输入 用户帐户的密码,并将 Temporary 切换到 Off
  7. 创建新的客户端 ID,例如 RHDH

    客户端身份验证
    切换到 On
    有效的重定向 URI
    设置为 OIDC 处理程序 URL,例如 https://<RHDH_URL>/api/auth/oidc/handler/frame
  8. 导航到 Credentials 选项卡,再复制 Client secret
  9. 为下一步保存客户端 ID 和客户端 Secret。
  10. 在 Developer Hub 中,在 Developer Hub secret 中添加您的 Keycloak 凭证。

    1. 编辑 Developer Hub secret,如 secrets-rhdh。
    2. 添加以下键/值对:

      AUTH_KEYCLOAK_CLIENT_ID
      输入您在 Keycloak 中生成的客户端 ID,如 RHDH
      AUTH_KEYCLOAK_CLIENT_SECRET
      输入您在 Keycloak 中生成的客户端 Secret。
  11. 在 Developer Hub 自定义配置中设置 OIDC 身份验证供应商。

    1. 编辑自定义 Developer Hub ConfigMap,如 app-config-rhdh
    2. app-config-rhdh.yaml 内容中,在 root auth 配置下添加 oidc 供应商配置,并为 sign-in 启用 oidc 供应商:

      app-config-rhdh.yaml fragment

      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

验证

  1. 重启 backstage-developer-hub 应用程序以应用更改。
  2. 您的 Developer Hub 登录页面显示 使用 OIDC 登录
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.