Twitter OAuth不能正确地重定向回我的网站
本文关键字:我的 网站 重定向 正确地 OAuth 不能 Twitter | 更新日期: 2023-09-27 18:06:19
免责声明:我仍然从MVC3开始(特别是OAuth)。我可能犯了一个基本的错误。
问题strong>
我的控制器看到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代码strong>
一开始我很犹豫要不要把它贴出来,因为我想确保我对这个流程的看法是正确的,因为可以理解的是,其中有一点需要深入研究。
提前感谢你能给的任何帮助!
我不是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方法?