我正在将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和会话,并调用应该重定向的注销。
,但浏览器上没有任何反应。并且如果我引用该页面,则用户无需登录即可导航到页面。 请指教。