OmniAuth認証プロバイダとしてAliCloudを使用します。

AliCloud OAuth 2.0 OmniAuthプロバイダを有効にして、AliCloudアカウントを使ってGitLabにサインインすることができます。

AliCloudアプリケーションの作成

AliCloudプラットフォームにサインインし、その上にアプリケーションを作成します。AliCloudは、あなたが使用するためのクライアントIDと秘密鍵を生成します。

  1. AliCloudプラットフォームにサインインします。

  2. OAuthアプリケーション管理ページに移動します。

  3. Create Applicationを選択します。

  4. アプリケーションの詳細を入力します:

    • アプリケーション名:何でも結構です。
    • 表示名:何でもかまいません。
    • コールバックURL:このURLは、'GitLab instance URL' + '/users/auth/alicloud/callback'.例えば、http://test.gitlab.com/users/auth/alicloud/callback

    Save を選択します。

  5. アプリケーションの詳細ページにOAuthスコープを追加します:

    1. アプリケーション名」列で、作成したアプリケーション名を選択します。アプリケーションの詳細ページが開きます。
    2. Application OAuth Scopes]タブで、[Add OAuth Scopes]を選択します。
    3. aliuidと profileのチェックボックスを選択します。
    4. OK]を選択します。

    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アカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。

  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を再起動します。