GitLabにAzure ADユーザでログイン
Docker for Macで試しました。
Redmineの時と同じくdocker-composeを使ってサクッと構築します。
こちら
を利用させていただきました。
docker-compose.ymlは何も変更してません。
ひとまずrootのパスワード設定までやります。
次にAzureポータルでアプリを登録して、クライアントID、テナントIDを作成します。
リダイレクトURIは「http://localhost/users/auth/azure_oauth2/callback」にします。
(localhostだとhttpsじゃなくていいんですかね?)
クライアントシークレットを作成します。
エンタープライズアプリケーションでGitlabにユーザを追加します。
ここで、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」というボタンが表示されると思いますので、それをクリックします。
Azureの認証画面が出るので追加したユーザで認証します。
パスワードを入力します。
承諾します。
ログインできれば成功です。