Azure AD B2C SSO SignOut问题

时间:2017-11-25 03:02:22

标签: c# azure azure-ad-b2c

最近我在我的项目中配置了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成功:

  1. GET / Account / SignOut HTTP / 1.1
  2. GET /hostName/oauth2/v2.0/logout?p=b2c_1_passwordreset&post_logout_redirect_uri=https%3a%2f%2fhostName HTTP / 1.1
  3. GET / TenantId / oauth2 / logout HTTP / 1.1
  4. 重定向到登录
  5. 案例 SignOut UnSuccess:

    1. GET / Account / SignOut HTTP / 1.1
    2. GET /hostName/oauth2/v2.0/logout?p=b2c_1_passwordreset&post_logout_redirect_uri=https%3a%2f%2fhostName HTTP / 1.1
    3. 重定向到主页

0 个答案:

没有答案