我几个月来一直使用Grails Oauth插件进行LinkedIn身份验证,没有任何问题;今天我们看到这个错误而我们现有的代码库没有变化。我验证了LinkedIn开发者网站上的API密钥和范围是正确的。有谁知道如何解决这个问题?
错误
响应状态码:403 响应机构:oauth_problem =范围%20INVALID%20%3A%20r_contactinfo%2Br_basicprofile%2Br_emailaddress
这是Scribe lib发送的请求的一个版本:
使用base64编码器:CommonsCodec 基本字符串是:POST& https%3A%2F%2Fapi.linkedin.com%2Fuas%2Foauth%2FrequestToken& oauth_callback%3Dhttps%253A%252F%252Flocalhost%253A8443%252Foauth%252Flinkedin%252Fcallback%26oauth_consumer_key%3Dxxxxxxxxxxxxx%26oauth_nonce%3Dxxxxxxxxxxxxxxxxx% 26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1431479305%26oauth_version%3D1.0%26scope%3Dr_contactinfo%252Br_basicprofile%252Br_emailaddress 签名是:xxxxxxxxxxxxxxxxxxxxxxx
附加额外的OAuth参数:{oauth_callback - > https://localhost:8443/oauth/linkedin/callback,oauth_signature - > xxxxxxxxxxxxxxxxxxxxxxxxxxx,范围 - > r_contactinfo + r_basicprofile + r_emailaddress,oauth_version - > 1.0,oauth_nonce - > xxxxxxxxxxx,oauth_signature_method - > HMAC-SHA1,oauth_consumer_key - > xxxxxxxxxxxxxxxxxx,oauth_timestamp - > 1431479305} 使用Http Header签名
答案 0 :(得分:1)
Linked已使用“r_contactinfo”
所需的特殊权限更改了其API使用条款请参阅 https://developer.linkedin.com/support/developer-program-transition
和 https://developer.linkedin.com/support/developer-program-transition
因此,如果您的Oauth请求之前需要r_contactinfo,您将看到此错误。修复是除非您拥有Li的特定权限,否则不会请求r_contactinfo - 在您的应用程序的Li Developer Dashboard上取消选中此项。
r_basicprofile&仍然可以检索r_emailaddress。