【问题标题】:LinkedIn REST API OAuth2 401 unauthorized_client error when trying to get access token尝试获取访问令牌时,LinkedIn REST API OAuth2 401 未授权客户端错误
【发布时间】:2019-06-18 17:13:43
【问题描述】:

我正在使用 Ember.js 和 Node。我已经设置了基于 json Web 令牌的身份验证,现在正在尝试使用 LinkedIn 的 REST API 来获取我的用户配置文件的信息。

我能够将我的用户重定向到 LinkedIn 授权代码端点(本指南中的第 2 步:https://developer.linkedin.com/docs/oauth2),但我在第 3 步(访问令牌的交换授权代码)上遇到了困难。当我使用正确的参数发出 POST 请求时,无论我如何尝试发出请求,都会收到 401 未授权客户端错误。

我直接从我的节点服务器发出请求,并使用请求模块。我尝试将参数包含为查询参数,并作为正文的一部分。我已经尝试调整标题和 url 编码,但似乎没有任何改变 401 错误。

这是我需要根据指南拨打的电话:

POST /uas/oauth2/accessToken HTTP/1.1
Host: www.linkedin.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=987654321&redirect_uri=https%3A%2F%2Fwww.myapp.com%2Fauth%2Flinkedin&client_id=123456789&client_secret=shhdonottell

【问题讨论】:

    标签: node.js rest ember.js linkedin-api


    【解决方案1】:

    如果您的POSTing 参数正确,则不会发生这种情况。你可以用另一种方式尝试它。使用您在第 2 步中收到的授权代码,使用基于请求的服务,例如 POSTMAN,然后再次尝试获取响应。如果您使用它来获取它,则表示您在发出请求时出现了一些错误。

    确保正确提供标题。

    即使在POSTMAN 服务之后,如果您收到未经授权的回复,请确认您的client_idclient_secret

    【讨论】:

      【解决方案2】:

      请注意,对于 2-legged 身份验证,grant_type 应始终为“client_credentials”。此外,您只需提供 client_id 和 client_secret 作为参数,仅此而已。请参阅sample in the LinkedIn documentation。您似乎尝试执行 3-legged 身份验证请求。

      【讨论】:

        猜你喜欢
        • 2016-06-02
        • 1970-01-01
        • 2020-12-31
        • 2016-04-29
        • 2019-04-15
        • 1970-01-01
        • 2013-09-13
        • 2020-07-12
        • 1970-01-01
        相关资源
        最近更新 更多