LinkedIn oAuth2认证中的未授权范围错误

25

我正在遵循官方的 Microsoft 说明来完成 用 Linkedin 登录 (这里还有 Linkedin 的说明在这里),它也将授权码流程链接到了这里。根据指示,我已经设置了一个Linkedin应用程序并使用客户端ID和密钥启动了oAuth 2流程,请求r_liteprofiler_emailaddress范围。

但我没有得到登录表单,而是被重定向到我的回调URL,并带有以下参数:

error: unauthorized_scope_error error_description: 范围 "r_liteprofile" 未被授权给您的应用程序 state: cfa970987c9a3c2178dddeda0d81dab3e00dce4c683098d6

这是默认范围列表(根据文档,如果您不指定范围列表,则授予这些默认范围),其中r_liteprofile并不在其中。

enter image description here

这份文档是过时的,还是我忽略了什么?

8个回答

44

我们必须在产品选项卡下启用“使用LinkedIn登录”,只有这样你才能享受到(r_liteprofile和/或r_emailaddress)和服务的范围。

输入图片描述

对于审查过程,系统最多需要60分钟进行审核,如果您的请求已获批准,相关产品将移至“添加的产品”部分。

输入图片描述


3
哇,非常感谢!他们的文档里几乎没有提到这个。 - Sharpey
1
是的,我也浪费了很多时间,很高兴这能帮到你。 - Bala.Raj

8
这件事情最近发生在我身上,但是不知怎么的我成功避开了这个问题。最新的LinkedIn的Microsoft API文档已经更新。LinkedIn Developers门户网站上的文档很快就会过时:

重要更新: 所有开发者需要在2019年3月1日之前迁移到我们的API Version 2.0和OAuth 2.0。

以下是一些尝试方法:
  • 注册一个新的LinkedIn OAuth 2.0开发者应用程序 - 新注册的应用程序可以访问新的V2 API
  • 尝试删除r_liteprofile范围或回退到r_basicprofile

2
是的,我将范围更改为 ["r_basicprofile"],这样就绕过了错误。 - s2t2

4

我在2021年做出了一点贡献。

看起来LinkedIn不断更改作用域的值。

在LinkedIn开发者门户网站的“Auth”选项卡下查找 OAuth 2.0 scopes 部分,我找到了最终适合我的值。

附:请确保从产品标签中启用登录。 Linkedin API scope


2
谢谢,我的应用程序在2023年的范围是:"openid%20profile%20email",只需简单的个人资料和电子邮件,没有其他前缀! - undefined

3

1

在LinkedIn开发者控制台中导航到“产品”,然后选择“使用LinkedIn登录”。

验证过程需要一些时间,然后您的权限下应该会出现r_emailaddress和r_liteprofile。


0

0
我的解决方案是在LinkedIn开发者控制台中,点击我的应用程序旁边的“使用LinkedIn登录”按钮。

0
解决方案是在您的OAuth2身份验证请求中包含以下范围: 范围:'openid email profile'

感谢您对Stack Overflow社区做出贡献的兴趣。这个问题已经有很多答案了,其中一个答案已经得到社区的广泛验证。您确定您的方法之前没有被提到过吗?如果是这样的话,能否请您解释一下您的方法有何不同,什么情况下您的方法可能更好,以及为什么您认为之前的答案不够满意。您能否友好地编辑您的答案并提供解释? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接