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

Oauth LinkedIn,401,无法验证访问令牌,oauth,oauth-2.0,linkedin,linkedin-api,Oauth,Oauth 2.0,Linkedin,Linkedin Api,我曾经用LinkedIn在一个特定的网站上建立了一个showcase-sign-in。 一切都完美地运行着,直到我在广大观众面前演示了它,它崩溃了:-(这是一次巨大的失败,我想知道原因。以下是我所做的: 1.在登录页面上,用户可以单击使用LinkedIn登录按钮,并被重定向到类似链接: https://www.linkedin.com/oauth/v2/authorization?redirect_uri=[my_callback]&client_id=[my_client_id]&am

我曾经用LinkedIn在一个特定的网站上建立了一个showcase-sign-in。 一切都完美地运行着,直到我在广大观众面前演示了它,它崩溃了:-(这是一次巨大的失败,我想知道原因。以下是我所做的:

1.在登录页面上,用户可以单击
使用LinkedIn登录
按钮,并被重定向到类似链接:

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.用户允许应用程序并被发送回
my\u callback

3.在
my_callback
中,我向
https://www.linkedin.com/oauth/v2/accessToken
以获取访问令牌。我使用LinkedIn发送的代码、正确的客户端ID和密码。一切正常,例如响应可能是:

{
    "access_token": [access_token],
    "expires_in": 5184000
}
4.我发出经过身份验证的请求以从端点获取配置文件数据
https://www.linkedin.com/v1/people/~:(名字、姓氏、电子邮件地址)

标题:

x-li-format: json       
Authorization: Bearer [access_token]
我开始偶尔出现错误401,例如:

{
  "errorCode": 0,
  "message": "Unable to verify access token",
  "requestId": "YX21AN6NZG",
  "status": 401,
  "timestamp": 1483732371224
}
似乎有些请求是随机通过的,但是

其他详情:

  • 已登录LinkedIn
  • 该用户是LinkedIn应用程序的管理员
  • 我已检查了应用程序中的限制(油门限制)。可在
    https://www.linkedin.com/developer/apps
    。所有能看到的东西都是绿色的
  • 我试过了所有的建议和技巧
  • 我的应用程序不是实时的
我很困惑

问题:有明显的错误吗

问:对于特定用户/应用程序组合的访问令牌数量限制,是否存在隐藏的限制(或安全工具)?(我总是使用同一个用户,在大失败之前我进行了非常积极的测试)


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

万一有人好奇,我从李支持部门得到了问题的答案:

不幸的是,我们真的无法帮助解决API问题和第三方应用程序。我猜周五发生了一个小问题,而你是时间安排不当的受害者


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

我有一个访问令牌,它可以通过API获取数据,但现在它已经停止工作。我仔细阅读了LinkedIn的文档:并找到了为什么会发生这种情况

文档声明,用户的会话与访问令牌链接。因此,注销会话意味着访问令牌无效。这是有意义的,因为我看到的正是这种情况

oauth2在的过期时间只是这个访问令牌的最终有效时间的时间戳。但是它可以在任何时刻失效


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

你很容易相信:DI也有同样的问题。正如打嗝尚未解决:D