我只是想尝试使用LinkedIn登录。根据LinkedIn,他们使用OAuth 1.0a,这意味着我应该在获取请求令牌时发送oauth_callback参数。这是我在下面生成的链接。
我使用oauth_token,oauth_token_secret,oauth_callback_confirmed = true等获得有效回复。
然而,在我登录LinkedIn后,我获得了进入我的应用程序的OOP代码,而不是使用我发送的oauth_callback重定向。
我现在正在测试的网址是我的localhost计算机,但它在实时服务器上完全相同。
对此有任何想法。我搜索过LinkedIn和其他stackoverflow的答案,尝试过很多东西,但都没有。
使用C#,ASP.NET MVC 3,.NET 4.0
答案 0 :(得分: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
此处提供了更多信息:http://developer.linkedin.com/docs/DOC-1245
您会看到oauth_callback是可选的,因为LinkedIn在“授权”标题中没有看到您的oauth_callback,它会将用户重定向到您在应用程序设置中指定的“OAuth重定向URL”。但是,我猜你把这个“OAuth Redirect URL”设置留空了,这就是你被重定向到OOP页面的原因。
我希望有所帮助。