OAuth2.0認証プロバイダとしてDingTalkを使用します。

DingTalkアカウントを使ってGitLabにサインインできます。DingTalk Open Platformにサインインし、アプリケーションを作成します。DingTalkがクライアントIDとシークレットキーを生成します。

  1. DingTalk Open Platformにサインインします。

  2. トップバーで、アプリケーション開発 > 企業内部開発を選択し、アプリケーションの作成を選択します。

    DingTalk menu

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

    • アプリケーション名:これは何でもかまいません。<Organization>'s GitLab,<Your Name>'s GitLab, などのように分かりやすいものを考えてください。
    • アプリケーションの説明:説明を作成します。
    • アプリケーションアイコン:必要に応じてアイコンをアップロードしてください。

    DingTalk create application

  4. 確認と作成を選択します。

  5. 左側のサイドバーで「DingTalk Application」を選択し、あなたのアプリケーションを探します。それを選択し、アプリケーション情報ページに移動します。

    DingTalk your application

  6. Application Credentialsセクションで、AppKeyAppSecretをメモしてください。

    DingTalk credentials

  7. GitLab サーバーで設定ファイルを開きます。

    Linuxパッケージ・インストールの場合:

    sudo editor /etc/gitlab/gitlab.rb
    

    セルフコンパイルによるインストールの場合:

    cd /home/git/gitlab
       
    sudo -u git -H editor config/gitlab.yml
    
  8. 共通設定を構成して、シングルサインオンプロバイダとしてdingtalk 。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。

  9. プロバイダー設定を追加します。

    Linuxパッケージ・インストールの場合:

      gitlab_rails['omniauth_providers'] = [
        {
          name: "dingtalk",
          # label: "Provider name", # optional label for login button, defaults to "Ding Talk"
          app_id: "<your_appkey>",
          app_secret: "<your_appsecret>"
        }
      ]
    

    セルフコンパイルによるインストールの場合:

    - { name: 'dingtalk',
        # label: 'Provider name', # optional label for login button, defaults to "Ding Talk"
        app_id: '<your_appkey>',
        app_secret: '<your_appsecret>' }
    
  10. <your_appkey> を手順 6 のApplication Credentialsの AppKey に置き換えます。

  11. <your_appsecret> を手順 6 のApplication Credentialsの AppSecret に置き換えます。

  12. 設定ファイルを保存します。

  13. 変更を有効にするには、次のようにします: