忽略我的oauth_callback

本文关键字:callback oauth 我的 | 更新日期: 2023-09-27 17:53:08

我只是想用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是我的本地主机,但它在实时服务器上做同样的事情。

对此有什么想法吗?我搜索了LinkedIn和其他stackoverflow的答案,尝试了很多东西,但都不起作用。

使用c#, ASP。.NET MVC 3, .NET 4.0

忽略我的oauth_callback

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

更多信息可在这里:http://developer.linkedin.com/docs/DOC-1245

你会看到oauth_callback是可选的,因为LinkedIn没有在"授权"头中看到你的oauth_callback,它会将用户重定向到你在应用程序设置中指定的"OAuth重定向URL"。然而,我猜你把这个"OAuth重定向URL"设置为空,这就是为什么你被重定向到OOP页面。