OAuth 2.0 認証プロバイダーとしてアトラシアンを使用します。
パスワードレス認証用の Atlassian OmniAuth プロバイダを有効にするには、アトラシアンにアプリケーションを登録する必要があります。
アトラシアンのアプリケーション登録
- アトラシアン開発者コンソールにアクセスし、アプリケーションを管理するアトラシアンアカウントでサインインします。
- Create a new app を選択します。
- アプリ名(’GitLab’など)を選択し、作成を選択します。
-
GitLabの設定ステップの
Client ID
、Secret
。 - 左サイドバーのAPIS AND FEATURES でOAuth 2.0 (3LO) を選択します。
- GitLab コールバック URL を
https://gitlab.example.com/users/auth/atlassian_oauth2/callback
のフォーマットで入力し、Save changes を選択します。 - 左のサイドバーのAPIS AND FEATURES で+ Addを選択します。
- Jira platform REST APIの追加] を選択し、[設定] を選択します。
- 次のスコープの横にある [追加] を選択します:
- Jira イシュー データの表示
- ユーザー プロファイルの表示
- イシューの作成と管理
GitLab 設定
-
GitLabサーバーで設定ファイルを開きます:
Linuxパッケージ・インストールの場合:
sudo editor /etc/gitlab/gitlab.rb
セルフコンパイルによるインストールの場合:
sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
-
共通設定を構成して、シングルサインオン・プロバイダーとして
atlassian_oauth2
を追加します。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。 -
Atlassian 用のプロバイダー設定を追加します:
Linuxパッケージ・インストールの場合:
gitlab_rails['omniauth_providers'] = [ { name: "atlassian_oauth2", # label: "Provider name", # optional label for login button, defaults to "Atlassian" app_id: "<your_client_id>", app_secret: "<your_client_secret>", args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" } } ]
セルフコンパイルによるインストールの場合:
- { name: "atlassian_oauth2", # label: "Provider name", # optional label for login button, defaults to "Atlassian" app_id: "<your_client_id>", app_secret: "<your_client_secret>", args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" } }
-
<your_client_id>
と<your_client_secret>
をアプリケーション登録時に受け取ったクライアント認証情報に変更します。 -
設定ファイルを保存します。
- 変更を有効にするには
- Linux パッケージを使ってインストールした場合は、GitLab を再設定してください。
- インストールをセルフコンパイルした場合は、GitLabを再起動してください。
サインインページで、通常のサインインフォームの下に Atlassian アイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。
問題がなければ、ユーザーは Atlassian の認証情報を使って GitLab にサインインします。