GitLabにAzure ADユーザでログイン

Docker for Macで試しました。

Redmineの時と同じくdocker-composeを使ってサクッと構築します。
こちら を利用させていただきました。
docker-compose.ymlは何も変更してません。

ひとまずrootのパスワード設定までやります。

gitlab_SSO_00001.png

次にAzureポータルでアプリを登録して、クライアントID、テナントIDを作成します。
リダイレクトURIは「http://localhost/users/auth/azure_oauth2/callback」にします。
(localhostだとhttpsじゃなくていいんですかね?)

gitlab_SSO_00002.png

クライアントシークレットを作成します。

gitlab_SSO_00002-2.png

エンタープライズアプリケーションでGitlabにユーザを追加します。

gitlab_SSO_00002-3.png

ここで、docker-compose.ymlの以下の部分を変更します。

    - OAUTH_ENABLED=true
    - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
    - OAUTH_ALLOW_SSO=azure_oauth2
    - OAUTH_BLOCK_AUTO_CREATED_USERS=false
    - OAUTH_AUTO_LINK_LDAP_USER=false
    - OAUTH_AUTO_LINK_SAML_USER=false
    - OAUTH_EXTERNAL_PROVIDERS=

    - OAUTH_AZURE_API_KEY=クライアントID
    - OAUTH_AZURE_API_SECRET=クライアントシークレット
    - OAUTH_AZURE_TENANT_ID=テナントID

gitlabを再作成します。

% docker-compose stop gitlab    
Stopping gitlab_gitlab_1 ... done
% docker-compose up -d gitlab
gitlab_redis_1 is up-to-date
gitlab_postgresql_1 is up-to-date
Recreating gitlab_gitlab_1 ... done

問題なければ「Azure Oauth2」というボタンが表示されると思いますので、それをクリックします。

gitlab_SSO_00003.png

Azureの認証画面が出るので追加したユーザで認証します。

gitlab_SSO_00004.png

パスワードを入力します。

gitlab_SSO_00005.png

承諾します。

gitlab_SSO_00006.png

ログインできれば成功です。

gitlab_SSO_00007.png