我正在使用LinkedIn进行身份验证。我不知道为什么,但是LinkedIn不允许突然登录。我可以允许使用LinkedIn应用程序,但无法获取身份验证信息。
{"provider"=>"linkedin",
"uid"=>nil,
"info"=>
{"name"=>nil,
"email"=>nil,
"nickname"=>nil,
"first_name"=>nil,
"last_name"=>nil,
"location"=>nil,
"description"=>nil,
"image"=>nil,
"phone"=>nil,
"headline"=>nil,
"industry"=>nil,
"urls"=>{"public_profile"=>nil}},
"credentials"=>{"token"=>"facdxxx-xxx-xxxx-xxxx-xxxxxxxxx", "secret"=>"2xxxxx-xxxx-xxxx-xxxx-xxxxxxx"}}
omniauth_controller.rb
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def linkedin
@user = User.from_omniauth(request.env["omniauth.auth"].except("extra"))
if @user.persisted?
sign_in_and_redirect @user, event: :authentication
else
session["devise.user_attributes"] = @user.attributes
redirect_to new_user_registration_url
end
end
end
我应该更新LinkedIn应用程序设置吗?我想知道这对Rails应用程序没有影响...
Gemfile
gem 'omniauth-linkedin'
我使用omniauth-linkedin
。
2月注册时,我具有以下许可。
但目前只有三个。
如何在LinkedIn上添加权限?
答案 0 :(得分:0)
实际上可能有很多东西,但是您可以尝试一件事;配置应用程序时,您可能未请求正确的访问权限。根据{{3}}:
在《 OAuth 2.0指南》的第2步中请求授权代码时,请确保请求r_liteprofile和/或r_emailaddress范围!
根据docs,您可以通过请求或通过开发者门户进行设置