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 个月。
AccountController 中有方法
public ActionResult ExternalLogin(string provider, string returnUrl)
在那里添加
Session.RemoveAll();
PS/ 首先,当我看到这个建议时,我不明白它有什么帮助,但下次当 OAuth 失败时,我只是简单地重新启动 WebApp,它就开始工作了。顺便说一句,即使现在我也不明白会话发生了什么,但它有效。
我正在使用 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 个月。
AccountController 中有方法
public ActionResult ExternalLogin(string provider, string returnUrl)
在那里添加
Session.RemoveAll();
PS/ 首先,当我看到这个建议时,我不明白它有什么帮助,但下次当 OAuth 失败时,我只是简单地重新启动 WebApp,它就开始工作了。顺便说一句,即使现在我也不明白会话发生了什么,但它有效。