Twitter OAuth不能正确地重定向回我的网站

本文关键字:我的 网站 重定向 正确地 OAuth 不能 Twitter | 更新日期: 2023-09-27 18:06:19

免责声明:我仍然从MVC3开始(特别是OAuth)。我可能犯了一个基本的错误。

我的控制器看到cookie没有存储[注意:是的,我在不同的讨论中使用cookie。让我们接受这个事实,继续前进吧。并引导我到Twitter。太好了。然而,当我点击授权时,我就会回到Twitter的授权页面。

My Hunch So Far

我的应用程序似乎没有正确处理Twitter回发/回调到我的页面。

<

配料/strong>

  • ASP。Net MVC 3
  • <
  • Twitterizer库/gh>c#

总体思路/逻辑流程

这可能有一个问题,因为这是我第一次使用MVC3和OAuth。

http://i56.tinypic.com/2rxchw7.png

一开始我很犹豫要不要把它贴出来,因为我想确保我对这个流程的看法是正确的,因为可以理解的是,其中有一点需要深入研究。

提前感谢你能给的任何帮助!

Twitter OAuth不能正确地重定向回我的网站

我不是100%确定,因为我不是Twitter API专业人士。但我认为Twitter不允许localhost作为回调。在允许重定向发生之前,它们可能会进行URL解析的查找。他们无法到达你的。hosts文件中指定的内容。

考虑简单地将oauth_callback发布到一个活动URL,最好是您自己控制的URL。检查你是否到达了那里。然后您可以计算出如何获得oauth_token和oauth_verifier。(专业提示:抓取URL,或者如果可以,让页面在屏幕上打印变量,以便更容易抓取)。

也测试指定"oob"作为回调,看看会发生什么。

编辑:我刚刚意识到,抓取URL不会工作,因为你正在做一个web应用程序。对不起。但是让一个实时URL接受oauth_token和oauth_verifier并从该页面重定向到localhost或其他什么呢?

如果我没看错你的流程图的话,你可能误解了部分流程。当我遵循这个图表时,就好像这是用户第一次访问(没有cookie,没有令牌/验证器),你在twitter交互之后有一个POST。永远不会有POST。Twitter的服务器不会执行回调。用户将被重定向(HTTP 302)到回调url,并将令牌和验证符附加到查询字符串中。

此外,根据您是否提供了验证器或令牌而具有不同的行为似乎很奇怪。如果你做对了,你永远不会有一个没有另一个,即使你做错了,你也永远不会有一个没有令牌的验证者。

在什么时候调用GetAccessToken方法?