首页 > 解决方案 > Linkedin oauth2 r_liteprofile 没有从 api 返回

问题描述

所以我有一个 rails 应用程序,我正在将此 gem 用于 oauth2。现在在linkedin的开发者控制台上我只能选择

r_basicprofile, r_emailaddress,rw_company_adminw_share.

所以我r_basicprofile选择了。

现在一旦确定linkedin在推动用户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'

omn​​iauth.rb 看起来像

provider :linkedin, 'KEY', 'VALUE

Oauth2.0 的linkedin 控制台中的回调 url 看起来像

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

是否有解决方法或者这是一个实施缺陷?这不再偶尔发生,所以我假设我正在犯一个实施错误。

标签: ruby-on-rails-5linkedinomniauthlinkedin-apiomniauth-linkedin

解决方案


今天(1 月 14 日)linkedin 转换了他们的文档,并允许今天之后创建的所有应用程序自动能够在自助服务部分下使用 r_liteprofile,但是要使用 r_basicprofile,您必须向他们的合作伙伴计划申请。

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

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

在这里阅读更多:

https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/migration-faq?context=linkedin/consumer/context

自 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)

和 ...

希望保持对基本配置文件字段的访问?了解有关申请加入领英合作伙伴计划的更多信息。


推荐阅读