首页 > 解决方案 > IdentityServer4 - 谷歌浏览器没有删除所有 cookie

问题描述

我有客户端应用程序尝试注销并将用户重定向到经过身份验证的页面,这应该强制用户再次登录。

但是在重定向到安全页面之后不知何故。IDP 响应用户已通过身份验证并且存在循环。我的逻辑检测到不正确的用户,强制注销,用户注销,当他尝试打开链接 ipd 时告诉他已通过身份验证。

要注销我正在使用这个:

 return SignOut(new AuthenticationProperties { RedirectUri = Request.GetDisplayUrl() }, OpenIdConnectDefaults.AuthenticationScheme);

标签: asp.net-identityidentityserver4idp

解决方案


您需要使用注销两个处理程序(cookie + OpenID)

    public async Task Logout()
    {
        await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
        await HttpContext.SignOutAsync(OpenIdConnectDefaults.AuthenticationScheme);
    }

此外,重要的是不要从您的注销中返回任何内容,否则事情会中断。


推荐阅读