OAuth - 签名错误

时间:2014-07-29 12:01:41

标签: c# oauth linkedin

我正在使用https://developer.linkedin.com/oauth-test-console来确定我收到401 unauthorised消息的原因。

由于某种原因,我的代码中生成的签名与此控制台上生成的签名不同。出于测试目的,代码中的noncetimestampbaseString具有与控制台中使用的值相同的值。然而签名仍然不匹配?

我使用以下代码生成签名:

HMACSHA1 hmacsha1 = new HMACSHA1();
hmacsha1.Key = Encoding.ASCII.GetBytes(string.Format("{0}&{1}", UrlEncode(), UrlEncode()));
string signature = Convert.ToBase64String(hashAlgorithm.ComputeHash(System.Text.Encoding.ASCII.GetBytes(baseString)));

UrlEncode()UrlEncode()分别是应用了url编码的使用者密钥和令牌密钥。

1 个答案:

答案 0 :(得分:0)

我解决了。上面的逻辑不正确。

我换了令牌秘密和消费者秘密,所以它是LinkedinOAuthTokenSecret& LinkedinOAuthConsumerSecret{1}{0})而不是相反。

这创建了正确的键,可用于制作合法签名。