最近我在我的项目中配置了Azure AD B2C SSO,现在我正面临退出问题。
问题 - 10次4到7次我能够从应用程序成功注销并重定向到登录页面。 注销后一次或两次(随机行为)我被重定向到主页(安全页面)。
问题 - 我不知道如何复制此问题或如何确定确切原因及解决方法?
我的退出代码:
public ActionResult SignOut() {
string[] myCookies = Request.Cookies.AllKeys;
foreach (string cookieKey in myCookies) {
var responseCookie = HttpContext.Response.Cookies[cookieKey];
if (responseCookie != null)
responseCookie.Expires = DateTime.Now.AddDays(-1);
}
Session.Abandon();
try {
var authTypes = HttpContext.GetOwinContext().Authentication.GetAuthenticationTypes();
HttpContext.GetOwinContext().Authentication.SignOut(authTypes.Select(t => t.AuthenticationType).ToArray());
HttpContext.GetOwinContext().Authentication.SignOut();
Request.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
return RedirectToAction("SignIn");
} catch {
return RedirectToAction("Error", "Home");
}
}
调查结果:
Fiddler
案例 SignOut成功:
案例 SignOut UnSuccess: