
GitLab EE インスタンスをセットアップしており、Google アカウントのみでサインアップ プロセスを有効にしたいと考えています。次のドキュメントに従いました:統合そしてここ:詳しくはこちら。
Google との統合は問題なく機能し、既存のアカウントを Google アカウントに関連付けてみたところ、問題はありませんでした。
問題は、既存のアカウントなしで Google を使用してサインアップしようとすると、エラーが発生することです。
既存の GitLab アカウントなしで Google アカウントを使用してサインインすることはできません。
現在の/etc/gitlab/gitlab.rb
設定は次のとおりです:
### 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_sync_email_from_provider'] = 'google_oauth2'
gitlab_rails['omniauth_sync_profile_from_provider'] = ['google_oauth2']
gitlab_rails['omniauth_sync_profile_attributes'] = ['email', 'name', 'location']
gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'google_oauth2'
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" => "my-app-id",
"app_secret" => "my-app-secret",
"args" => { "access_type" => "offline", "approval_prompt" => "" }
}
]
何が間違っているのでしょうか? GitLab は Google を使用してサインアップできるのでしょうか?
答え1
設定を少し調整した後、動作する設定を見つけることができました。
### 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_sync_email_from_provider'] = 'google_oauth2'
gitlab_rails['omniauth_sync_profile_from_provider'] = ['google_oauth2']
# gitlab_rails['omniauth_sync_profile_attributes'] = ['email']
# gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'google_oauth2'
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_ldap_user'] = true
# gitlab_rails['omniauth_auto_link_saml_user'] = false
# gitlab_rails['omniauth_external_providers'] = ['google_oauth2']
gitlab_rails['omniauth_providers'] = [
{
"name" => "google_oauth2",
"app_id" => "<APP_ID>",
"app_secret" => "<APP_SECRET>",
"args" => { "access_type" => "offline", "approval_prompt" => "" }
}
]
答え2
設定について質問があります。既存のユーザーは問題になりますか? ローカルの GitLab と Google Workspace の両方でメールが同じであれば、うまく同期されますか?
次のコメントを外す必要がありますか?
gitlab_rails['omniauth_sync_email_from_provider'] = 'google_oauth2'
この行がありませんが、これは問題でしょうか :
gitlab_rails['omniauth_sync_profile_from_provider'] = ['google_oauth2']
既存のコメントやユーザーなどを混乱させたくないので質問しています。
よろしくお願いします