OAuth 2.0 認証プロバイダとして Salesforce を使用します。
GitLabインスタンスをSalesforceとインテグレーションして、ユーザーがSalesforceアカウントでGitLabインスタンスにサインインできるようにすることができます。
Salesforce 連携アプリの作成
Salesforce OmniAuthプロバイダを有効にするには、GitLabインスタンスにSalesforceの認証情報を使用する必要があります。クレデンシャル(クライアントIDとクライアントシークレットのペア)を取得するには、Salesforce上にConnected Appを作成する必要があります。
-
Salesforce にサインインします。
-
Setup]で、[Quick Find]ボックスに「
App Manager
」と入力し、[App Manager]を選択し、[New Connected App]を選択します。 - 以下のフィールドにアプリケーションの詳細を入力します:
-
Connected App Name(接続アプリ名)」と「API Name(API名)」:任意の値を設定しますが、
<Organization>'s GitLab
、<Your Name>'s GitLab
、または何か他の説明的なものを検討してください。 - 連絡先メールアドレス:Salesforce がお客様またはサポートチームに連絡する際に使用する連絡先メールアドレスを入力します。
- 説明アプリケーションの説明です。
-
Connected App Name(接続アプリ名)」と「API Name(API名)」:任意の値を設定しますが、
- API (Enable OAuth Settings)を選択し、Enable OAuth Settingsを選択します。
- 以下のフィールドにアプリケーションの詳細を入力します:
-
コールバックURL:GitLab インストールのコールバック URL。例えば、
https://gitlab.example.com/users/auth/salesforce/callback
. -
選択した OAuth スコープ:
Access your basic information (id, profile, email, address, phone)
とAllow access to your unique identifier (openid)
を右の列に移動します。
-
コールバックURL:GitLab インストールのコールバック URL。例えば、
-
Save を選択します。
-
GitLab サーバーで設定ファイルを開きます。
Linuxパッケージ・インストールの場合:
sudo editor /etc/gitlab/gitlab.rb
セルフコンパイルによるインストールの場合:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
共通設定を構成して、シングルサインオンプロバイダとして
salesforce
。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。 -
プロバイダー設定を追加します。
Linuxパッケージ・インストールの場合:
gitlab_rails['omniauth_providers'] = [ { name: "salesforce", # label: "Provider name", # optional label for login button, defaults to "Salesforce" app_id: "SALESFORCE_CLIENT_ID", app_secret: "SALESFORCE_CLIENT_SECRET" } ]
セルフコンパイルによるインストールの場合:
- { name: 'salesforce', # label: 'Provider name', # optional label for login button, defaults to "Salesforce" app_id: 'SALESFORCE_CLIENT_ID', app_secret: 'SALESFORCE_CLIENT_SECRET' }
- Salesforce 接続アプリケーションのページから、
SALESFORCE_CLIENT_ID
をコンシューマキーに変更します。 -
Salesforce に接続されたアプリケーションページから、
SALESFORCE_CLIENT_SECRET
をコンシューマシークレットに変更します。 -
設定ファイルを保存します。
- 変更を有効にするには
- Linux パッケージを使ってインストールした場合は、GitLab を再設定してください。
- インストールをセルフコンパイルした場合は、GitLabを再起動してください。
サインインページで、通常のサインインフォームの下に Salesforce のアイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。SalesforceはユーザーにサインインとGitLabアプリケーションの作成を求めます。問題がなければ、ユーザーは GitLab に戻り、サインインされます。