链接忽略我的oauth_callback

Dar*_*rye 5 c# oauth linkedin

我只是想尝试使用LinkedIn登录.根据LinkedIn,他们使用OAuth 1.0a,这意味着我应该在获取请求令牌时发送oauth_callback参数.这是我在下面生成的链接.

https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin

我用oauth_token,oauth_token_secret,oauth_callback_confirmed = true等获得了有效的回复.

然而,在我登录LinkedIn后,我得到OOP代码进入我的应用程序,而不是只使用我发送的oauth_callback重定向.

我正在测试的url是我的localhost机器,但它在实时服务器上完全相同.

对此有任何想法.我搜索过LinkedIn和其他stackoverflow的答案,尝试了很多东西,没有一个有效.

使用C#,ASP.NET MVC 3,.NET 4.0

Joh*_*ika 3

oauth_callback 应在请求令牌的请求标头中发送,而不是在查询字符串中发送。例如:

POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0"
Host: api.linkedin.com
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

更多信息请参见:http://developer.linkedin.com/docs/DOC-1245

您将看到 oauth_callback 是可选的,并且由于 LinkedIn 在“授权”标头中看不到您的 oauth_callback,因此它将用户重定向到您在应用程序设置中指定的“OAuth 重定向 URL”。但是,我猜测您将此“OAuth 重定向 URL”设置留空,这就是您被重定向到 OOP 页面的原因。

我希望这有帮助。