使用 Javascript 在浏览器中删除身份服务器 Cookie

Remove the Identity Server Cookie in Browser using Javascript

我正在使用 Identity Server 进行单点登录,我想使用 JavaScript 从适当的客户端应用程序中手动删除 Identity Server Cookie。

我参考了很多教程,但没有人为我的要求提供任何解决方案。

我在 https://localhost:2025 and I deployed the Client UI in http://localhost:3000

中部署了我的身份服务器

我需要删除下图中 https://localhost:2025 下显示的以下 Cookie。

我尝试了很多 Stack overflow 问题,其中我列出了一些供您参考。

Clearing all cookies with JavaScript

如果 cookie 是从服务器 HttpOnly flag 发出的,您将无法从客户端访问或修改其值:

An HttpOnly cookie cannot be accessed by client-side APIs, such as JavaScript. This restriction eliminates the threat of cookie theft via cross-site scripting (XSS). However, the cookie remains vulnerable to cross-site tracing (XST) and cross-site request forgery (XSRF) attacks. A cookie is given this characteristic by adding the HttpOnly flag to the cookie.

从提供的屏幕截图看来,您似乎只能从 javascript 访问 idsvr.session cookie,因为它未标记为 HTTP。

作为解决方法,您可以对某些服务器端端点进行 AJAX 调用,这将清除所有 cookie,因为它可以访问它们。