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

时间:2011-08-21 05:50:40

标签: c# asp.net-mvc-3 oauth twitter-oauth twitterizer

免责声明:我还在开始使用MVC3(特别是OAuth)。我可能犯了一个基本的错误。

问题

我的控制器发现cookie未存储 [注意:是的,我在不同的讨论中使用cookie。让我们接受并继续前进。] 并指导我到Twitter。大。但是,当我点击授权时,我会回到Twitter的授权页面。

我的预感

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

成分

  • ASP.NET MVC 3
  • Twitterizer库
  • C#

一般理念/逻辑流程

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

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

守则

我一开始就不愿意发布它,因为我想确保我对这应该如何流动的看法是正确的,并且因为可以理解的是它有一点可以理解。

提前感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:0)

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

考虑简单地将oauth_callback发布到实时网址,最好是您自己控制的网址。检查你到底那里。然后你可以弄清楚如何掌握oauth_token和oauth_verifier。 (专业提示:抓取URL,或者如果可以,让页面在屏幕上打印变量以便于抓取)。

同时测试指定“oob”作为回调,看看会发生什么。

修改: 我刚刚意识到,由于您正在进行Web应用程序,因此刮取URL无法正常工作。抱歉。但是有一个实时URL如何使用oauth_token和oauth_verifier并从该页面重定向到localhost或其他什么?

答案 1 :(得分:0)

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

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

你在什么时候调用GetAccessToken方法?