获取oauth_问题=将LinkedIn JSAPI令牌交换为oauth令牌时签名_无效

获取oauth_问题=将LinkedIn JSAPI令牌交换为oauth令牌时签名_无效,linkedin,Linkedin,我正在按照文档中的链接将JSAPI令牌交换为OAuth 1.0a令牌。() 我在交换过程中遇到以下错误: oauth_problem=signature_invalid&oauth_problem_advice=com.linkedin.security.auth.pub.logindiedinValidAutothTokenException%20%20获取%20%3Post%26https%253A%252F%252Fapi.linkedin.com%252Fuas%252Foauth%25

我正在按照文档中的链接将JSAPI令牌交换为OAuth 1.0a令牌。()

我在交换过程中遇到以下错误:

oauth_problem=signature_invalid&oauth_problem_advice=com.linkedin.security.auth.pub.logindiedinValidAutothTokenException%20%20获取%20%3Post%26https%253A%252F%252Fapi.linkedin.com%252Fuas%252Foauth%252FaccessToken%26oauth_消费者密钥%253d751ogi2r9e%2526oauth当前值%253D1422656976%2526oauth_签名方法%253DHMAC-SHA1%2526oauth_时间戳%253D1422656976654%2526oauth_版本%253D1.0%2526xoauth_oauth2_访问令牌%253DzdLOTq4fVfiSBS4WP_FkEgL942vbUkpsH4gH%0ACON%3AO%7C4245561%7C3241891%7C7315878%7C4307091%7C%2A02%3A14226576%3AGWYNP1ZIULKJVCxVNM2D%

我使用LinkedIn OAuth测试控制台测试我的签名算法 () 我确认我正在构造相同的base_字符串,并获得与测试控制台相同的签名

但是,我仍然收到签名无效错误,这表明我可能错误地构造了HTTP POST请求

这就是我的请求:

POST/uas/oauth/accessToken HTTP/1.1 授权:OAuth OAuth_consumer_key=“751oglji2r3e9e”,OAuth_nonce=“1422654439”,OAuth_signature=“vif9BS8MFNdjTWCagrs%252Fn8gNa1Y%253D”,OAuth_signature_method=“HMAC-SHA1”,OAuth_timestamp=“1422654439035”,OAuth_version=“1.0” 内容类型:application/x-www-form-urlencoded 缓存控制:没有缓存 Pragma:没有缓存 用户代理:Java/1.7.0_71 主持人:api.linkedin.com 接受:text/html、image/gif、image/jpeg、*;q=.2,/;q=.2 连接:关闭 内容长度:63

xoauth_oauth2_access_token=AykDWuciDtpUQ_2tY4y3sKOOqOD6JXUSwuZR

我用url编码了我的签名,因为这是其他帖子的建议。这条路对吗?


LinkedIn的错误消息没有明确说明签名无效的原因。

重新检查授权标头中的签名,似乎我在将签名放入授权标头时犯了两次URL编码签名的错误

一旦我解决了这个问题,我就能够获得访问令牌