谷歌和Facebook登录重定向两次/ Account / ExternalLoginCallback MVC - 4

时间:2013-08-03 13:36:58

标签: c# asp.net-mvc facebook-oauth google-oauth

我在我的asp.net MVC-4网站上使用google OAuth 2.0和facebook登录。很长一段时间以来,我正在努力解决一个奇怪的问题。问题是:

当我点击谷歌登录按钮或Facebook登录按钮时,我被重定向到谷歌或Facebook登录页面,我输入我的登录凭据。之后我被重定向到/ Account / ExternalLoginCallback Action(我在facebook和google app设置中设置为redirect_uri)。 但我被重定向两次到/ Account / ExternalLoginCallback

我在ExternalLoginCallback操作中插入了一个断点。首先重定向一切顺利,一个ExternalLoginConfirmation视图显示然后再次自动调用相同的动作(ExternalLoginConfirmation),这次[第二次]我得到一个例外,即404错误请求。

我的问题是为什么我在/ Account / ExternalLoginCallback Action重定向两次 ????

请帮助我,我做了一切,但没有找到任何解决方案,最糟糕的是我不知道哪个东西导致第二次重定向到/ Account / ExternalLoginCallback Action。

2 个答案:

答案 0 :(得分:0)

如果您从帐户控制器发布代码,我们可能会提供帮助。但是,我的想法是,要么你按两次按钮太快,要么在帐户管理员中调用Oauth两次重复代码。

答案 1 :(得分:0)

我遇到了同样的问题,并设法用“Chrome Dev Tool”解决了这个问题。 只需调用“Inspect Element”或Ctrl-Shift-I,然后查看导致第二次重定向的原因: enter image description here

1)设置“保留日志”复选框和“禁用缓存”

2)仅显示“文档”(可选)

3)看到“settings / socias_connections /”被调用两次(当然,它将是您网站的不同链接)

4)参见“发起人”栏。所以第一次它只是一个重定向。第二次它是由我自己的脚本启动的,它试图从URL中删除“#”。 (我的愚蠢错误:)