Facebook,Google OAuth 有时在 Azure 上失败

Facebook, Google OAuth fails sometimes on Azure

我正在使用 Asp.Net MVC OAuth 登录 facebook 和 google 奇怪的是,在某些时候它不起作用

var externalIdentity =
                HttpContext.GetOwinContext()
                    .Authentication.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);

var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
   return RedirectToAction("Login");
}

这里似乎无法获取用户信息并重定向到登录页面。我不知道为什么或什么会导致这种情况。 我也有两个插槽测试版和生产版。

所以有什么建议或者有人已经有了这个建议并找到了解决方法吗?

几周后我终于解决了我的问题。它真的很奇怪,可能是因为天蓝色,因为之前我的实现在 VMvare 上运行了 6 个月。

A​​ccountController 中有方法

public ActionResult ExternalLogin(string provider, string returnUrl)

在那里添加

Session.RemoveAll();

PS/ 首先,当我看到这个建议时,我不明白它有什么帮助,但下次当 OAuth 失败时,我只是简单地重新启动 WebApp,它就开始工作了。顺便说一句,即使现在我也不明白会话发生了什么,但它有效。