Mar*_*ell 9 oauth linkedin oauth-2.0
当且仅当用户在发出OAuth2请求时登录LinkedIn时,它才有效.
如果用户未登录,则会遇到错误.
我们行动的顺序:
https://api.linkedin.com/v1/people/\~在此之后,我们收到401以下内容:
{
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "C0DUCX81SA",
"status": 401,
"timestamp": 1421946470523
}
Run Code Online (Sandbox Code Playgroud)
有时,经过一段时间后,使用相同的访问令牌重试会产生200.有时不会.
如果用户在此"401周期"期间登录到LinkedIn,则神奇地以前获取的访问令牌开始工作.
我不知道如何解决这个问题,因为它似乎是LinkedIn的一个问题.
有人有任何建议或者之前有人看过这种行为吗?
我们尝试过cookie设置,在请求之前等待一段时间.
我们正在向Zotonic [1]添加LinkedIn OAuth2身份验证,但现在仍然使用非工作模块.
编辑:
有人提到LinkedIn的两个讨论.他的答复现在遗憾地从下面的讨论中消失了.
这些是链接:
https://developer.linkedin.com/forum/unable-verify-access-token
我在这些讨论中尝试了所有建议,但无济于事.
编辑#2:
检查LinkedIn上的第一个讨论表明我并不是唯一一个遇到这些一致性问题的人.如果用户已经清除了cookie或者在OAuth"舞蹈"期间必须登录LinkedIn,那么在LinkedIn上会出现问题 https://developer.linkedin.com/forum/unable-verify-access-token#comment-36950
更新
解决了,感谢Matthijs Bierman,请看下面的答案.
Gro*_*osa 20
对我来说https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=[accessToken]不起作用.
添加reguest标头
授权:持票人[accessToken]
直到我通过链接在sdk并测试,并发现他们还要求你添加请求标题之前没有工作
x-li-src:msdk
通过这两个标题,可以调用https://api.linkedin.com/v1/people/~?format=json.
希望Linkedin很快修复这个无证件的要求......
来自移动SDK的AccessToken会出现此错误:
使用Web OAuth 2.0 协议生成的accessTokens不会遇到任何问题.仅当移动(iOS/Android)SDK,后端使用accessToken来获取用户详细信息时,才会出现此问题.
解决方案:提供以下2个标题
例如:
网址:https://api.linkedin.com/v1/people/~? format = json
报头(一个或多个):
Authorization: Bearer AQVYqTNB3bFRAIatBcp4hM1r-......
x-li-src: msdk
Run Code Online (Sandbox Code Playgroud)
注意:
如果使用OAuth 2.0生成AccessToken,则可以通过仅删除第二个标头(x-li-src)来使用上述相同的api.