ASP.NET MVC 5(VS2013 final):使用OWIN进行Facebook登录失败(loginInfo为null)

前端之家收集整理的这篇文章主要介绍了ASP.NET MVC 5(VS2013 final):使用OWIN进行Facebook登录失败(loginInfo为null)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我安装了昨天发布的VS2013最后一位,我正在尝试一个例子,在那里我启用一个外部的Facebook登录.我的第一个问题:

在这个控制器代码(我没有从示例模板中触摸并保留):

//
    // GET: /Account/ExternalLoginCallback
    [AllowAnonymous]
    public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
    {
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
        if (loginInfo == null)
        {
            return RedirectToAction("Login");
        }

我在线上设置了一个断点等待AuthenticationManager.GetExternalLoginInfoAsync().代码返回(在我做我的Facebook登录后),“loginInfo”为空.在UI中,登录页面继续显示,不改变.如何调试?我试图找到GetExternalLoginInfoAsync()内的代码,但根据这个线程:

Where is Microsoft.AspNet.Identity.Owin.AuthenticationManager in Asp.Net Identity RTM version?

AuthenticationManager现在已经没了. (以上似乎不是这样).

我的第二个问题是:其他任何人都可以使用Facebook登录,而不改变ASP.NET MVC5示例代码(除了取消注释app.UseFacebookAuthentication并填写您的FB应用程序详细信息)? (您必须使用Facebook配置别名主机,例如“localtest.me”,并使用IIS express配置).

感谢任何帮助…

-ben

解决方法

我在向Google进行身份验证时遇到此问题(OpenID,而不是OAuth).所以真的没有什么可以搞砸的,但是确定在会话变量之后的一些简单的代码变化之后,它已经停止了工作.使用提琴手,我确定Google确实正在返回有效的信息.

有人比我更聪明,想出了我的问题,并在这里描述了修复.

ASP.NET_SessionId + OWIN Cookies do not send to browser

我所要做的只是加入Session [“salt”] =“salt”;到帐号/登录控制器,中提琴神奇地开始工作完美.不知道这是否是你的确切问题,但这是我的.

猜你在找的asp.Net相关文章