LinkedIn API:OAuth 请求中使用的令牌已被撤销

问题描述 投票:0回答:3

当我使用 linkedin V1 API 时,出现以下错误:

response body: {
  "errorCode": 0,
  "message": "[unauthorized]. The token used in the OAuth request has been revoked. 75--5cfb9cdb-3c9c-47c2-b3f8-XXXXXXXX",
  "requestId": "I2GQ0ZMWIE",
  "status": 401,
  "timestamp": 1408976297742
}

我在这里使用本指南,我正在做这个人正在做的事情,但我得到了不同的结果:

https://github.com/PrincessPolymath/LinkedIn-OAuth-Sample-Client

我不知道为什么会出现 OAuth 请求中使用的令牌已被撤销。 错误。 HTTP 请求是相同的。难道是我的捆绑 ID 的问题吗?

我在 linkedin 上找不到任何关于此事的信息。为什么 linkedin 不像其他 API 那样具有正常的错误代码查找功能。

这是两个请求对象的一些照片,一张来自示例,一张来自我的。

Example app My app

ios oauth linkedin-api
3个回答
5
投票

我根据我对您所描述问题的理解进行猜测,尚未对此进行测试。 我还假设您的凭据正确...

您应该查看 Kamyar Mohager (#39) 的 这个答案,他解释了如何绕过此错误:

When obtaining access token, error occurs if:

POST https://www.linkedin.com/uas/oauth2/accessToken

Body:
{
grant_type=authorization_code,
code={auth-code},
redirect_uri={uri},
client_id={id},
client_secret={secret}
}

The error WON'T occur if you obtain the access token by passing the params as query params:

POST https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code={auth-code}&redirect_uri={uri}&client_id={id}&client_secret={secret}

3
投票

错误明确指出用户有权使用您正在使用的令牌进行呼叫。

"message": "[unauthorized]. The token used in the OAuth request has been revoked. 75--5cfb9cdb-3c9c-47c2-b3f8-XXXXXXXX",

在上面粘贴的两张照片中,我可以看到您的请求对象具有与示例请求对象不同的值“tokenKey 和 tokenSecret”参数,这是正确的,因为您的请求应该具有从 LinkedIn 接收的令牌信息。

但我不明白的是为什么两个请求对象的“consumeKey 和consumerSecret”参数具有相同的值。我认为您需要将“consumerKey &consumerSecret”与“tokenkey & tokensecret”一起使用来进行此 OAuth 调用。 “consumer”和“token”详细信息组合应该匹配,然后只有您才能成功进行 oauth 调用。

我猜您看到此错误是因为您将令牌与其他一些消费者密钥一起使用。

我还可以看到您正在请求对象中传递“验证程序”,因此我想知道您是否正在调用以获取“访问令牌”,这是 oauth 的第三条腿。如果是,那么可能会出现“requestToken”在您进行“access_token”调用之前就已过期的情况,因为“requestToken”实际上是一个“临时令牌”并且很快就会过期。

HTH...


2
投票

问题是代码重用。

如 API 注释中所述,API 将在第一次请求时为您提供令牌和密钥。这只发生在身份验证期间,然后令牌和秘密基本上可以被丢弃,并且可以使用developer.linkedin 上的问题。

我通过构建自己的请求对象而不是依赖 oAuth 过程中的旧 HTTPRequestBody 来修复此问题。

© www.soinside.com 2019 - 2024. All rights reserved.