搜索

4.2. 启用 GitLab OAuth 身份验证供应商

download PDF

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

先决条件

  • 已使用自定义配置映射和 secret 配置 Developer Hub。

流程

  1. 要允许 Developer Hub 通过 Gitlab 进行身份验证,请在 Gitlab 中创建 OAuth 应用。

    进入 GitLab User settings > Applications,然后点击 Add new application 按钮。

    Name
    输入应用程序名称,如 Developer Hub
    重定向 URI
    输入 Developer Hub 中设置的后端身份验证 URI,如 http:// <APP_FQDN>/api/auth/gitlab/handler/frame。由于 GitLab OAuth 的 criuuliarity,请确保 URL 在 'frame' 后没有结尾的 /
    范围

    从列表中选择以下范围并点 Save application

    read_user
    通过 /user API 端点授予经过身份验证的用户配置集的只读访问权限,其中包括用户名、公共电子邮件和全名。另外,还授予对 /users 下的只读 API 端点的访问权限。
    read_repository
    通过 /user API 端点授予经过身份验证的用户配置集的只读访问权限,其中包括用户名、公共电子邮件和全名。另外,还授予对 /users 下的只读 API 端点的访问权限。
    write_repository
    使用 Git-over-HTTP (不使用 API),授予对私有项目上的存储库的读取/写入访问权限。
    openid
    授予使用 OpenID Connect 通过 GitLab 进行身份验证的权限。另外,也授予用户配置文件和组成员资格的只读访问权限。
    配置集
    使用 OpenID Connect 授予用户配置集数据的只读访问权限。
    email

    使用 OpenID Connect 授予用户主电子邮件地址的只读访问权限。

    为下一步保存 应用程序 IDSecret

  2. 在 Developer Hub secret 中添加 Gitlab 凭据。

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

      AUTH_GITLAB_CLIENT_ID
      输入您在 GitLab 上生成的应用程序 ID,如 4928c033ab3d592845c044a653bc20583baf84f2e67b954c6fdb32a532ab76c9
      AUTH_GITLAB_CLIENT_SECRET
      输入您在 Gitlab 上生成的 Secret,如 gloas-f2c9c350759cc08346fbf94a476ae83c579c76dd629fc5eeef9dc21eedfe0475
  3. 在 Developer Hub 自定义配置中设置 Gitlab 身份验证提供程序。

    1. 编辑自定义 Developer Hub 配置映射,如 app-config-rhdh
    2. app-config-rhdh.yaml 内容中,将 gitlab 提供程序配置添加到 root auth 配置下,并为 sign-in 启用 gitlab 提供程序:

      app-config-rhdh.yaml fragment

      auth:
        environment: production
        providers:
          gitlab:
            production:
              clientId: ${AUTH_GITLAB_CLIENT_ID}
              clientSecret: ${AUTH_GITLAB_CLIENT_SECRET}
              # audience: https://gitlab.company.com 1
              # callbackUrl: https://<APP_FQDN>/api/auth/gitlab/handler/frame 2
      signInPage: gitlab 3

      1
      另外,在使用自托管的 Gitlab: 取消注释时,并输入 GitLab 实例基本 URL,如 https://gitlab.company.com
      2
      另外,在使用自定义重定向 URI 时,输入创建 GitLab OAuth App 时注册的 Redirect URI 的 URL,如 http:// <APP_FQDN&gt; /api/auth/gitlab/handler/frame。由于 GitLab OAuth 的 criuuliarity,请确保 URL 在 'frame' 后没有结尾的 /
      3
      将 Gitlab 提供程序启用为默认登录提供程序。

验证

  1. backstage-developer-hub 部署使用更新的配置启动 pod。
  2. 您的 Developer Hub 登录页面显示 使用 GitLab 的 Sign in
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.