diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/context/model/SaResponse.java b/sa-token-core/src/main/java/cn/dev33/satoken/context/model/SaResponse.java index 99984369..78c11be0 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/context/model/SaResponse.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/context/model/SaResponse.java @@ -26,6 +26,16 @@ public interface SaResponse { addCookie(name, null, null, null, 0); } + /** + * 删除指定Cookie + * @param name Cookie名称 + * @param path Cookie 路径 + * @param domain Cookie 作用域 + */ + public default void deleteCookie(String name, String path, String domain) { + addCookie(name, null, path, domain, 0); + } + /** * 写入指定Cookie * @param name Cookie名称 diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java index a5ec689f..36b4ac20 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java @@ -441,7 +441,8 @@ public class StpLogic { // 如果打开了 Cookie 模式,则把 Cookie 清除掉 if(getConfig().getIsReadCookie()){ - SaHolder.getResponse().deleteCookie(getTokenName()); + SaCookieConfig cookie = getConfig().getCookie(); + SaHolder.getResponse().deleteCookie(getTokenName(), cookie.getPath(), cookie.getDomain()); } // 从当前 [Storage存储器] 里删除 Token