Ruby on rails Can';无法从Linkedin获取身份验证信息
我正在使用LinkedIn进行身份验证。我不知道为什么,但LinkedIn不允许突然登录。我可以允许LinkedIn应用,但无法获取身份验证信息Ruby on rails Can';无法从Linkedin获取身份验证信息,ruby-on-rails,ruby,linkedin,Ruby On Rails,Ruby,Linkedin,我正在使用LinkedIn进行身份验证。我不知道为什么,但LinkedIn不允许突然登录。我可以允许LinkedIn应用,但无法获取身份验证信息 {"provider"=>"linkedin", "uid"=>nil, "info"=> {"name"=>nil, "email"=>nil, "nickname"=>nil, "first_name"=>nil, "last_name"=>nil, "location"=&g
{"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
我使用omniauth-linkedin
当我在二月份注册时,我有如下许可
但目前只有三个
我如何才能在LinkedIn上添加权限?有很多事情可以做到,但有一件事你可以试试;配置应用程序时,您可能没有请求正确的访问权限。根据: 在OAuth 2.0指南的步骤2中请求授权代码时,请确保请求r_liteprofile和/或r_emailaddress作用域
根据,您可以通过请求或通过开发者门户设置这些设置谢谢您的评论。config.omniauth:linkedin,Rails.application.credentials[Rails.env.to_-sym][:linkedin][:client\u-id],Rails.application.credentials[Rails.env.to_-sym][:linkedin][:client\u-secret],scope:'r\u-liteprofile'我已经添加了作用域,但不起作用。您是否使用omniauth/linkedin gem在designe中启用omniauth??如果是的话,哪一个?谢谢@JayDorsey我已经添加了gemfile信息。它看起来已经有4年多没有更新了。自述文件声明“此gem包含适用于OmniAuth 1.0的LinkedIn策略”,但microsoft网站上的链接声明“LinkedIn API使用OAuth 2.0进行用户授权和API身份验证。”鉴于gem的年龄,我认为这两者不兼容,我可能会调查另一个gem(可能)如果你浏览一下,你还会发现linkedin从去年开始就开始反对至少一些oauth 1.0字段,谢谢你的帮助。我将尝试使用它:)
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
gem 'omniauth-linkedin'