ruby-on-rails-5 - Linkedin oauth2 r_liteprofile 没有从 api 返回
问题描述
所以我有一个 rails 应用程序,我正在将此 gem 用于 oauth2。现在在linkedin的开发者控制台上我只能选择
r_basicprofile
, r_emailaddress
,rw_company_admin
和w_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'
omniauth.rb 看起来像
provider :linkedin, 'KEY', 'VALUE
Oauth2.0 的linkedin 控制台中的回调 url 看起来像
http://localhost:3000/auth/linkedin/callback
是否有解决方法或者这是一个实施缺陷?这不再偶尔发生,所以我假设我正在犯一个实施错误。
解决方案
今天(1 月 14 日)linkedin 转换了他们的文档,并允许今天之后创建的所有应用程序自动能够在自助服务部分下使用 r_liteprofile,但是要使用 r_basicprofile,您必须向他们的合作伙伴计划申请。
使用 r_basicprofile 连接到 v1 API 应该可以工作,但只能到 3 月 1 日。
也许您的问题是由于发生了切换而发生的。
在这里阅读更多:
自 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)
和 ...
希望保持对基本配置文件字段的访问?了解有关申请加入领英合作伙伴计划的更多信息。
推荐阅读
- json-c - 我是否必须释放 json_tokener_parse 返回的 json_object?
- java - 如何在 Java 中修复 SqlRowSet.Next() 上的“无效游标 SQL 异常”
- angular - Angular detectChanges 不适用于子组件
- android - 我在 java 文件中的哪里可以找到我用蓝色圈出的勾号的引用?
- php - 通过 ajax 使用 wordpress 获取视频
- javascript - 尝试将回调示例重写为 Promise 时修复错误
- git - 查找哪个 git commit 删除一些文件内容
- ruby-on-rails - 禁止在生成的 PDF 上打印(通过 prawn + combine_pdf)
- cobol - COBOL 中的 COMP VALUE ZERO 是什么意思?
- sql - 连接 XML 嵌套 SQL