LinkedIn,401,无法验证访问令牌

LinkedIn, 401, Unable to verify access token

我用 this guide 建立了一个展示柜 - 使用 LinkedIn 登录到特定站点。 一切都完美,直到我在广大观众面前演示它并崩溃了:-(这是一个巨大的失败,我想知道为什么。这是我所做的:

1.On 用户可以单击 Sign in with LinkedIn 按钮并被重定向到类似 link:

的登录页面
https://www.linkedin.com/oauth/v2/authorization?redirect_uri=[my_callback]&client_id=[my_client_id]&response_type=code&state=[securely_random]&scope=r_basicprofile%20r_emailaddress

2.The 用户允许应用程序并被发送回 my_callback

3.In my_callback 我创建一个 POST 到 https://www.linkedin.com/oauth/v2/accessToken 以获得访问令牌。我使用 LinkedIn 发送的代码,正确的客户端 ID 和密码。一切正常,例如响应可能是:

{
    "access_token": [access_token],
    "expires_in": 5184000
}

4.I发出经过身份验证的请求以从端点https://www.linkedin.com/v1/people/~:(firstName,lastName,email_address)

获取配置文件数据

Headers:

x-li-format: json       
Authorization: Bearer [access_token]

我开始偶尔收到错误 401,例如:

{
  "errorCode": 0,
  "message": "Unable to verify access token",
  "requestId": "YX21AN6NZG",
  "status": 401,
  "timestamp": 1483732371224
}

似乎有些请求还是随机通过了...

其他详细信息:

我很纳闷!

问题:有明显错误吗?

问题:是否有任何隐藏的节流限制(或安全工具)用于限制特定user/app组合的访问令牌数量? (我总是使用同一个用户,并且在大失败之前我进行了非常积极的测试)

更新: 在接下来的两天里,如上所述,登录再次开始顺利进行。不再有 401-s...:-X 我没有对代码库进行任何更改。那么这是某种油门限制还是只是李周五心情不好?

万一有人好奇我从 LI 支持那里得到了我的问题的答案:

很遗憾,我们真的无法协助解决 API 问题和第 3 方应用程序。我的猜测是周五出现了小问题,你是时机不对的受害者。

我接受我是受害者的解释,所以这回答了我的问题...

我有一个访问令牌可以通过 API 获取数据,但现在它已停止工作。我仔细阅读了 LinkedIn 的文档:https://developer.linkedin.com/docs/oauth2 并想出了为什么会发生这种情况。

文档指出,用户的会话与访问令牌相关联。因此,注销会话意味着访问令牌无效。这是有道理的,因为这正是我所看到的。

oauth2 expired-at 只是此访问令牌有效的最终时间的时间戳。但是显然它可以随时失效。

其他 oauth2 实现显示刷新访问令牌的功能,Linkedin 不提供此功能。因此用户每次都必须手动刷新它。不确定这是设计使然还是他们还没有解决。总的来说,他们的 API 感觉很过时。