Help us learn about your current experience with the documentation. Take the survey.

使用 AliCloud 作为 OmniAuth 认证提供者

  • 套餐: Free, Premium, Ultimate
  • 提供: GitLab.com, GitLab Self-Managed

您可以启用 AliCloud OAuth 2.0 OmniAuth 提供者,并使用您的 AliCloud 账户登录 GitLab。

创建一个 AliCloud 应用

登录 AliCloud 平台并创建一个应用。AliCloud 会为您生成一个客户端 ID 和密钥。

  1. 登录 AliCloud 平台

  2. 前往 OAuth 应用管理页面

  3. 选择 创建应用

  4. 填写应用详情:

    • 应用名称: 可以是任意内容。
    • 显示名称: 可以是任意内容。
    • 回调 URL: 此 URL 的格式应为 'GitLab 实例 URL' + '/users/auth/alicloud/callback'。例如,http://test.gitlab.com/users/auth/alicloud/callback

    选择 保存

  5. 在应用详情页面添加 OAuth 权限范围:

    1. 应用名称 列下,选择您创建的应用名称。应用详情页面将会打开。
    2. 应用 OAuth 权限范围 标签页下,选择 添加 OAuth 权限范围
    3. 选中 aliuidprofile 复选框。
    4. 选择 确定

    AliCloud OAuth scope

  6. 在应用详情页面创建一个密钥:

    1. 应用密钥 标签页下,选择 创建密钥
    2. 复制生成的 SecretValue。

在 GitLab 中启用 AliCloud OAuth

  1. 在您的 GitLab 服务器上,打开配置文件。

    • 对于 Linux 包安装:

      sudo editor /etc/gitlab/gitlab.rb
    • 对于自行编译安装:

      cd /home/git/gitlab
      
      sudo -u git -H editor config/gitlab.yml
  2. 配置 通用设置, 以将 alicloud 添加为单点登录提供者。这将为没有现有 GitLab 账户的用户启用即时账户配置。

  3. 添加提供者配置。将 YOUR_APP_ID 替换为应用详情页面上的 ID, 并将 YOUR_APP_SECRET 替换为您注册 AliCloud 应用时获得的 SecretValue

    • 对于 Linux 包安装:

        gitlab_rails['omniauth_providers'] = [
          {
            name: "alicloud",
            app_id: "YOUR_APP_ID",
            app_secret: "YOUR_APP_SECRET"
          }
        ]
    • 对于自行编译安装:

      - { name: 'alicloud',
          app_id: 'YOUR_APP_ID',
          app_secret: 'YOUR_APP_SECRET' }
  4. 保存配置文件。

  5. 如果您使用 Linux 包安装,请 重新配置 GitLab, 如果您从源码安装,请 重启 GitLab