Yandex OAuth GitLab 用户身份验证
Posted
技术标签:
【中文标题】Yandex OAuth GitLab 用户身份验证【英文标题】:Yandex OAuth GitLab user authentication 【发布时间】:2018-09-25 23:02:06 【问题描述】:我想通过Yandex.OAuth 对 gitlab 用户进行身份验证。我正在尝试使用oauth2_generic
策略,但我无法获取用户信息。有人知道怎么配置吗?
【问题讨论】:
【参考方案1】:终于,我得到了解决方案:
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['Yandex']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_providers'] = [
"name" => "oauth2_generic",
"app_id" => "your-app-id",
"app_secret" => "your-app-secret",
"args" =>
client_options:
"site" => "https://oauth.yandex.ru",
"authorize_url" => "/authorize",
"token_url" => "/token",
"user_info_url" => "https://login.yandex.ru/info",
,
user_response_structure:
attributes:
name: 'login',
email: 'default_email',
first_name: 'first_name',
last_name: 'last_name'
,
redirect_url: 'http://your-gitlab-host/users/auth/Yandex/callback',
name: 'Yandex',
strategy_class: "OmniAuth::Strategies::OAuth2Generic"
]
您需要注册一个具有Yandex.Passport API(登录)权限的新客户端,例如:访问用户名、访问电子邮件地址等。
然后将app_id
和app_secret
填入gitlab配置。就是这样!
【讨论】:
以上是关于Yandex OAuth GitLab 用户身份验证的主要内容,如果未能解决你的问题,请参考以下文章
OAuth2用户详细信息未在春季安全(SpringBoot)中更新