在带有角度2的aspnet核心2上使用openIdConnect从AAD注销的问题

时间:2018-08-03 06:54:45

标签: openid

我正在将asp.net core 2与azure AD和openId connect用于身份验证。 在同一解决方案中,我有Anngular js SPA加载到我的MVC Home.Index视图中。 现在,登录方案可以正常工作。 注销问题。 从Angular应用程序中,我正在MVC中调用“帐户/注销”。其中包含以下代码。

public IActionResult SignOut()
    {
        // Remove all cache entries for this user and send an OpenID Connect sign-out request.

        string userObjectID = User.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
        var authContext = new AuthenticationContext(AzureAdOptions.Settings.Authority, new NaiveSessionCache(userObjectID, HttpContext.Session));
        authContext.TokenCache.Clear();
        foreach (var cookie in HttpContext.Request.Cookies.Keys)
        {
            HttpContext.Response.Cookies.Delete(cookie);
        }
        HttpContext.Session.Clear();

        var callbackUrl = Url.Action(nameof(this.SignedOut), "Account", values: null, protocol: this.Request.Scheme);

        return SignOut(
           new AuthenticationProperties { RedirectUri = callbackUrl },
           CookieAuthenticationDefaults.AuthenticationScheme,
           OpenIdConnectDefaults.AuthenticationScheme);
    }

我正在尝试清除所有令牌,cookie和会话,并调用应该重定向的注销。

,但浏览器上没有任何反应。并且如果我引用该页面,则用户无需登录即可导航到页面。 请指教。

0 个答案:

没有答案