Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

13.3.11. GitLab

identityProviders 小节中设置 GitLabIdentityProvider,以使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。如果使用 GitLab 版本 7.7.0 到 11.0,您可以使用 OAuth 集成进行连接。如果使用 GitLab 版本 11.1 或更高版本,您可以使用 OpenID Connect (OIDC) 进行连接,而不使用 OAuth。

例 13.7. 使用 GitLabIdentityProvider的 master 配置

oauthConfig:
  ...
  identityProviders:
  - name: gitlab 1
    challenge: true 2
    login: true 3
    mappingMethod: claim 4
    provider:
      apiVersion: v1
      kind: GitLabIdentityProvider
      legacy: 5
      url: ... 6
      clientID: ... 7
      clientSecret: ... 8
      ca: ... 9
1
此提供程序名称作为前缀放在 GitLab 数字用户 ID 前,以此组成身份名称。它还可用来构建回调 URL。
2
true 时,来自非 Web 客户端(如 CLI)的未经身份验证的令牌请求会为此提供程序发送 WWW-Authenticate 质询标头。这将使用 Resource Owner Password Credentials 授权流从 GitLab 获取访问令牌。
3
true 时,来自 Web 客户端(如 Web 控制台)的未经身份验证的令牌请求将重定向到 GitLab 以进行登录。
4
控制如何在此提供程序的身份和用户对象之间建立映射,如上 所述
5
决定是否使用 OAuth 或 OIDC 作为身份验证供应商。设置为 true,以使用 OAuth 和 false 来使用 OIDC。您必须使用 GitLab.com 或 GitLab 版本 11.1 或更高版本使用 OIDC。如果没有提供值,OAuth 用于连接 GitLab 实例,并使用 OIDC 连接到 GitLab.com。
6
GitLab 提供程序的主机 URL。这可以是 https://gitlab.com/ 或其他自托管 GitLab 实例。
7
注册的 GitLab OAuth 应用程序的客户端 ID 。应用程序必须配置有 < master>/oauth2callback/<identityProviderName&gt; 的回调 URL。
8
GitLab 发布的客户端 secret。此值也可在 环境变量、外部文件或加密文件 中提供。
9
CA 是一个可选的可信证书颁发机构捆绑包,用于在向 GitLab 实例发出请求时使用。若为空,则使用默认的系统根证书。