【问题标题】:Linked In Ignoring my oauth_callbackLinkedin 忽略我的 oauth_callback
【发布时间】:2011-08-12 17:35:34
【问题描述】:

我只是想使用 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

【问题讨论】:

  • 他们可能有错误;你可以写他们关于这个问题。在他们的文档中写到他们处理 oauth_callback 参数,所以它不应该是 OOP。

标签: c# oauth linkedin


【解决方案1】:

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 页面的原因。

希望对你有帮助。

【讨论】:

猜你喜欢
  • 2011-02-25
  • 2013-03-15
  • 2010-11-10
  • 2012-10-22
  • 1970-01-01
  • 2010-12-02
  • 2011-12-22
  • 2014-01-15
  • 2017-12-09
相关资源
最近更新 更多