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

时间:2017-01-06 20:32:30

标签: oauth oauth-2.0 linkedin linkedin-api

我使用this guide构建了一个展示 - 使用LinkedIn登录到特定网站。 一切都工作完美,直到我在广大观众面前展示它并且它崩溃了:-(这是一个伟大的失败,我想知道为什么。这就是我做的:

1.在登录页面上,用户可以点击Sign in with 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_callback

3.在my_callback我向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)

获取配置文件数据

标题:

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

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

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

似乎有些请求随机传递了......

其他详情:

  • user已在LinkedIn
  • 中登录
  • 用户是LinkedIn应用程序的管理员
  • 我已经检查了应用程序中的限制(限制)。可在https://www.linkedin.com/developer/apps处获得。可以看到的一切都是绿色的。
  • 我已尝试过question
  • 的所有建议和黑客攻击
  • 我的应用尚未上线

我很困惑!

问题:任何明显的错误?

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

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

2 个答案:

答案 0 :(得分:1)

如果有人好奇我从LI支持得到了我的问题答案:

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

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

答案 1 :(得分:0)

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

文档说明用户的会话与访问令牌链接。因此,退出会话意味着访问令牌无效。这是有道理的,因为它正是我所看到的。

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

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