Я интегрировал свой экземпляр gitlab с Azure AD по причинам единого входа, и, похоже, он работает нормально.
Однако, насколько я понимаю, Azure тогда будет единственным источником истины ... поэтому, если пользователю нужно сначала зарегистрироваться на gitlab, а затем связать свой gitlab с лазурным, не убьет ли это весь смысл его реализации?
Можете ли вы предложить лучшие практики, связанные с этой реализацией? Вот как выглядит моя конфигурация omniauth в /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'] = ['azure_oauth2']
# 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'] = true
gitlab_rails['omniauth_auto_link_ldap_user'] = true
# gitlab_rails['omniauth_auto_link_saml_user'] = false
# gitlab_rails['omniauth_external_providers'] = ['twitter', 'google_oauth2']
gitlab_rails['sync_profile_from_provider'] = ['azure_oauth2']
gitlab_rails['sync_profile_attributes'] = ['name', 'email', 'location']
gitlab_rails['omniauth_providers'] = [
{
"name" => "azure_oauth2",
"args" => {
"client_id" => "my id",
"client_secret" => "my secret",
# "args" => { "access_type" => "offline", "approval_prompt" => "" }
"tenant_id" => "my tenant id",
},
# "base_azure_url" => "https://login.microsoftonline.com"
}
]
Спасибо!