我正在设置一个 GitLab EE 实例,我想仅使用 Google 帐户启用注册过程。我在这里遵循了文档:https ://docs.gitlab.com/ce/integration/google.html和这里:https ://docs.gitlab.com/ce/integration/omniauth.html 。
当我尝试将现有帐户绑定到 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 注册吗?
在对配置进行了一些调整后,我设法找到了一个可行的设置:
我对配置有疑问,现有用户是否会成为问题,如果本地 gitlab 和 google 工作区中的电子邮件相同,是否可以很好地同步?
我需要取消注释吗:
而且我没有这条线,这是一个问题:
我问是因为我不想弄乱所有现有的评论、用户等!
此致