无法从api返回Linkedin oauth2 r_liteprofile

时间:2019-01-14 09:42:56

标签: ruby-on-rails-5 linkedin omniauth linkedin-api omniauth-linkedin

所以我有一个Rails应用,正在使用this gem for oauth2。现在,在Linkedin上的开发人员控制台上,我只能选择

r_basicprofiler_emailaddressrw_company_adminw_share

因此,我选择了r_basicprofile

现在,一旦确定了将用户推送到http://localhost:3000/auth/linkedin/callback?error=unauthorized_scope_error&error_description=Scope+%26quot%3Br_liteprofile%26quot%3B+is+not+authorized+for+your+application&state=126bb5cb16613e67f77580954980f86e4a3080c7cb4e56fe的人

这显然是在请求r_liteprofile。现在,由于不允许r_liteprofile,因此会产生回调错误

OmniAuth::Strategies::OAuth2::CallbackError

unauthorized_scope_error | Scope "r_liteprofile" is not authorized for your application

routes.rb看起来像

get 'login-linkedin', to: redirect('/auth/linkedin')

get 'auth/:provider/callback', to: 'sessions#identify_network_entry'

omniauth.rb看起来像

provider :linkedin, 'KEY', 'VALUE

在Oauth2.0的linkedin控制台中,

回调URL类似于

http://localhost:3000/auth/linkedin/callback

是否有解决方法,或者这是实现缺陷?这种情况偶尔会停止发生,所以我假设我在实现错误。

1 个答案:

答案 0 :(得分:0)

今天(1月14日)的Linkedin转换了他们的文档,并允许在今天之后创建的所有应用程序自动使用自助部分下的r_liteprofile,但是要使用r_basicprofile,您必须将其应用于其合作伙伴计划。 / p>

使用r_basicprofile连接到v1 API应该可以,但是只能持续到3月1日。

也许您的问题是由于发生了切换而发生的。

在此处了解更多信息

Demo

  

截至2019年1月14日,在LinkedIn开发人员平台上创建的所有新应用程序都可以使用LinkedIn的v2 API。

特别是...

  

我可以访问哪些权限?

     

LinkedIn v1 API提供了以下权限集:

     

r_basicprofile      r_emailaddress      w_share      rw_company_admin

     

向前迈进,可用的v2 API包括:

     

r_liteprofile(代替r_basicprofile)      r_emailaddress      w_member_social(代替w_share)

和...

  

是否要维护对“基本配置文件”字段的访问?了解有关申请LinkedIn合作伙伴计划的更多信息。