====== Gitlab を Google アカウントでログイン可能に(Google OAuth2) ====== Gitlab を Google アカウントでログイン可能にします。\\ https://docs.gitlab.com/ee/integration/google.html ===== Google 側の設定 ===== 1.Google Cloud Platform を開く\\ https://console.cloud.google.com/cloud-resource-manager 2.【プロジェクトを作成】を選ぶ 3.プロジェクト情報を入力する\\ プロジェクト名:GitLab など 4.API コンソールを開く\\ https://console.developers.google.com/apis/dashboard 5.左上のプルダウンから作成したプロジェクト(GitLab)を選択 6.サイドバーから【OAuth 同意画面】を選択&作成\\ 承認済みドメイン : gitlab.example.com\\ アプリケーション ホームページ リンク : https://gitlab.example.com 7.サイドバーから【認証情報】→【認証情報を作成】→【OAuth クライアントID】\\ アプリケーションの種類:ウェブ アプリケーション\\ 承認済みの JavaScript 生成元:https://gitlab.example.com \\ 承認済みのリダイレクト URI:以下の2つを登録\\ https://gitlab.example.com/users/auth/google_oauth2/callback \\ https://gitlab.example.com/-/google_api/auth/callback 8.クライアントIDとクライアントシークレットを取得 ===== Gitlab 側の設定 ===== OmniAuth の共通設定も合わせて行う。\\ https://docs.gitlab.com/ee/integration/omniauth.html#initial-omniauth-configuration # オプション の変更 $ sudo editor /etc/gitlab/gitlab.rb gitlab_rails['omniauth_enabled'] = true // この Gitlab にアカウントがなかった場合、アカウントの自動生成を許可するプロバイダを指定 gitlab_rails['omniauth_allow_single_sign_on'] = ['google_oauth2'] // true にすると自動生成されたアカウントをブロックする(管理者によるブロック解除が必要) gitlab_rails['omniauth_block_auto_created_users'] = false // 指定したプロバイダは全てのユーザがアカウントを作成作成できるようにする // または、指定したプロバイダでログインすると内部プロジェクトにはアクセスできなくなる gitlab_rails['omniauth_external_providers'] = ['google_oauth2'] // 先程取得したクライアントIDとクライアントシークレットを設定する gitlab_rails['omniauth_providers'] = [ { "name" => "google_oauth2", "app_id" => "クライアントID", "app_secret" => "クライアントシークレット", "args" => { "access_type" => "offline", "approval_prompt" => "" } } ] # 設定の反映 $ sudo gitlab-ctl reconfigure サイトにアクセスし、Google アカウントによるログインが可能になったことを確認する。