无法从Linkedin获取身份验证信息

时间:2019-06-30 08:11:21

标签: 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"=>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上添加权限?

1 个答案:

答案 0 :(得分:0)

实际上可能有很多东西,但是您可以尝试一件事;配置应用程序时,您可能未请求正确的访问权限。根据{{​​3}}:

  

在《 OAuth 2.0指南》的第2步中请求授权代码时,请确保请求r_liteprofile和/或r_emailaddress范围!

根据docs,您可以通过请求或通过开发者门户进行设置