以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2018/11/08/053000より取得しました。


gitlab のログインをGoogleにする。(ユーザー初期登録も

gitlab の初期登録後に、Google ログインを有効にした

Google Oauth を使うと、Gitlab側でいちいちユーザーを作らずに済むので便利。

認証の設定について

Google OAuthの設定で2つの連携設定がある。

  1. 登録済ユーザーが各自で認証Googleアカウントを設定する
  2. 未登録ユーザーがGoogleでログインしたらユーザー作成

必要なもの

独自ドメインgoogle oauth で必要です。

httpsはあったほうが良い。っていうか今どきは当たり前。

google oauth の取得方法

Google アカウントでAPI Consoleにログインして、Google のOAuth用のWeb credential を作る。

  • API コンソールにログイン
  • プロジェクトを作成(なければ)
  • credential を作成
  • web アプリケーションで作成
  • ドメインに gitlab-ce のドメインをいれる。

oauth が準備できたら

gitlab の設定をする。

omnibus の場合 /etc/gitlab/gitlab.rb

Google Oauthでログインしたユーザをすぐに有効にする。

この設定が大事。

gitlab_rails['omniauth_block_auto_created_users'] = false

この設定を true にするとユーザ登録はできてもブロックされる。

ちなみにデフォルトはブロックです。 GoogleのOAuth連携できるユーザーはすべて無条件で許可されてしまいます。

この設定をfalse にすると google で認証されたユーザーは無条件に許可されるので、Gitlab側の設定で「ドメインに制限」を掛ける必要がある。

Gitlab側の設定では

  • /admin/application_settings から、
  • Sign-up restrictions
  • Whitelisted domains for sign-ups

とたどって許可したいドメインだけに限定しないと大変なことになる。

gitlab 側の設定

### OmniAuth Settings
###! Docs: https://docs.gitlab.com/ce/integration/omniauth.html
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['google_oauth2']
# gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
# gitlab_rails['omniauth_sync_email_from_provider'] = 'saml'
# gitlab_rails['omniauth_sync_profile_from_provider'] = ['saml']
# gitlab_rails['omniauth_sync_profile_attributes'] = ['email']
# gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'
gitlab_rails['omniauth_block_auto_created_users'] = false
# gitlab_rails['omniauth_auto_link_ldap_user'] = false
# gitlab_rails['omniauth_auto_link_saml_user'] = false
gitlab_rails['omniauth_external_providers'] = ['google_oauth2']
gitlab_rails['omniauth_providers'] = [
  {
    "name" => "google_oauth2",
    "app_id" => "xxxxxxxxxxxxxxx0dse47iulk.apps.googleusercontent.com",
    "app_secret" => "xxxxxxxxxxxxxxxxxx",
    "args" => { "access_type" => "offline", "approval_prompt" => "" }
  }
]

ログインチェック

設定したら gitlab を reconfigure してログインをチェックする。コレが大事。

ぱぱっとやれば大丈夫。

参考資料

https://docs.gitlab.com/ee/integration/google.html




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2018/11/08/053000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14