因此,我尝试使用Azure AD身份验证对GitLab进行身份验证。
这是我的/etc/gitlab/gitlab.rb
`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" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"client_secret" => "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=",
# "args" => { "access_type" => "offline", "approval_prompt" => "" }
"tenant_id" => "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
},
# "base_azure_url" => "https://login.microsoftonline.com"
}
]
在我的azure门户中,我有以下配置:
Azure AD Free
Azure AD Free中的一个应用程序。
我有http://myaplicationdomain/auth/oauth2_generic和http://myappauth.com/users/auth/azure_oauth2/callback的回复URL
当我尝试使用Azure身份验证登录时,收到以下错误:
AADSTS50011:请求中指定的回复URL与为应用程序配置的回复URL不匹配:
所以我只想知道是否有人尝试过此方法并找到解决方法。
ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
没有捆绑程序,因为它是Azure安装。
答案 0 :(得分:0)
您尚未包含应用注册信息,但是从您共享的错误消息中可以看出,为应用注册配置的回复网址与您随请求传递的回复网址不匹配。来自以前没有使用过Gitlab的人的一些想法。
观看此视频,该视频专门解决了Azure中的回复URL配置:https://www.youtube.com/watch?v=A9U1VGyztEM&t=9s
使用提琴手或其他一些代理来查看要发送给Azure终结点的redirect_uri参数值。它需要与应用程序中配置的回复网址匹配。
最后,refer to this article表示您需要按照https://mygitlab.mycorp.org/users/auth/azure_oauth2/callback
的格式在应用程序注册中配置一个知名的重定向URL