Facebook登录导致无限重定向循环

时间:2013-08-28 07:18:52

标签: c# asp.net-mvc facebook facebook-graph-api

我正在使用asp.net mvc。我正在尝试为我的MVC应用程序实现Facebook集成。在这里,我选择了OA登录的OAuth机制。这是我的标记,

<a href="/Account/FacebookLogin">Login With Facebook</a>

这是我的行动,

 public ActionResult FacebookLogin()
 {
            oAuthFacebook oauth = new oAuthFacebook();
            return new RedirectResult(oauth.AuthorizationLinkGet());
 }

我的回调网址为/Home/FBLogin

public ActionResult FBLogin()
{
    oAuthFacebook oAuth = new oAuthFacebook();    
      if (Request["code"] == null)
      {
          //Redirect the user back to Facebook for authorization.
          return new RedirectResult(oAuth.AuthorizationLinkGet());
      }
      else
      {
            oAuth.AccessTokenGet(Request["code"]);    
            if (oAuth.Token.Length > 0)
            {
               //Handle Accesstoken : oAuth.Token
            }
      }
      return RedirectToAction("Dashboard", "Home");                
 }

这里我的问题是当我已经登录Facebook网站然后打开我的网站并点击登录时使用facebook按钮它的工作非常好。

但如果我没有登录facebook网站,我想通过我的mvc应用程序重新登录facebook。它导致facebook重定向循环,这意味着它继续调用我的回调网址,以便我无法重定向到我的情况下的Dashboard操作,它在Facebook登录页面停止我重新加载。我已经清除了所有的cookie并尝试但它没有改变。我无法找到错误是我的身边还是脸书。

更新 如果我添加一个属性auth_type=reauthenticate来解决我的问题,并且工作正常。如果我已经登录Facebook网站,它会重新验证我。如果我在facebook网站注销并尝试通过我的应用程序登录,它会向我询问关于 2次的密码,一个用于正常登录,另一个用于重新验证登录。有什么方法可以克服这种行为吗?请指导我。谢谢你。

0 个答案:

没有答案
相关问题