我使用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
}
似乎有些请求随机传递了......
其他详情:
https://www.linkedin.com/developer/apps
处获得。可以看到的一切都是绿色的。我很困惑!
问题:任何明显的错误?
问题:是否有任何隐藏的限制(或安全工具)限制特定用户/应用程序组合的访问令牌数量? (我总是使用相同的用户,而且在大失败之前我进行了非常积极的测试)
更新:在接下来的两天内,登录再次开始顺利进行,如上所述。没有401-s了......: - X我没有对代码库进行任何更改。这是某种节流限制,还是李周五心情不好?
答案 0 :(得分:1)
如果有人好奇我从LI支持得到了我的问题答案:
很遗憾,我们真的无法协助解决API问题和第三方应用。我的猜测是周五出现了打嗝,你是时机不好的受害者。
我接受我是受害者的解释,所以这回答了我的问题......
答案 1 :(得分:0)
我有一个访问令牌,可以通过API获取数据,但现在它已经停止工作了。我仔细阅读了LinkedIn的文档:https://developer.linkedin.com/docs/oauth2并提出了为什么会发生这种情况。
文档说明用户的会话与访问令牌链接。因此,退出会话意味着访问令牌无效。这是有道理的,因为它正是我所看到的。
oauth2 expired-at只是此访问令牌有效的最终时间的时间戳。但它显然可以在任何时候失效。
其他oauth2实现显示用于刷新访问令牌的功能,Linkedin不提供此类功能。因此,用户每次都必须手动刷新它。不确定这是不是设计或他们还没有解决它。总体而言,他们的API感觉非常过时。