asp.net-mvc – OAuth 2 Owin无法正常工作StackExchange.Redis SessionState

从一个全新的MVC5项目开始,我连接了外部OAuth登录谷歌,Facebook Twitter,微软等.所有工作都按预期工作.

然后我添加了新的ASP.NET Session State Provider for Redis Preview Release并使其正常工作.是啊!

我很快发现尝试使用任何OAuth提供程序登录都不再正常. Google& Facebook登录按钮调用Accont控制器上的ExternalLoginCallback(字符串returnUrl)但无处可去.登录页面只是刷新.

LinkedIn,Twitter和Microsoft按钮都将用户引导到这些登录页面,但是当返回到我的应用程序时,它们返回到登录页面,并且没有用户被添加到系统中.

在web.config中注释掉自定义sessionState条目会使外部登录恢复正常.

考虑到这两个框架对我来说都是黑盒子,我不知道如何将这两个框架放在一起玩.

最佳答案 这帮我解决了确切的问题.

http://www.nsilverbullet.net/2014/06/24/tough-mvc-5-owin-external-authentication-issue/

基本上:
必须有会话状态吗?在AccountController中修改:

    [AllowAnonymous]
    public ActionResult Login(string returnUrl)
    {
        //Ensure Session has at least one value
        Session["EnableExternalAuth"] = true; // <--------- This helped

        ViewBag.ReturnUrl = returnUrl;
        return View();
    }

会话和外部登录提供程序似乎存在问题

点赞