【发布时间】:2021-04-28 09:16:12
【问题描述】:
使用node.js express库在注销时清除cookie
app.post('/logout', (req, res, next) => {
// cookie-session library used hence req.session = null is valid
req.session = null;
res.clearCookie('auth');
res.end();
});
在所有台式机、Android 设备上完美运行,但在 IOS 设备浏览器(Firefox、Chrome、Safari 等)上不适用。 所有IOS测试设备都是14+版本
尝试了clearCookie res.clearCookie function doesn't delete cookies 的可用选项,但无济于事。
但是,在 IOS 设备上使用隐身模式意味着 cookie 被清除,关闭浏览器(清除会话)也可以。
设置cookie(登录)时我使用默认的
res.cookie('auth')
有人知道发生了什么吗?
编辑
在 Iphone 5c 上尝试了 IOS 10,它可以工作。似乎真的是 14+ 的问题
【问题讨论】:
-
您能说明一下您是如何设置 cookie 的吗?
-
我不是在上面的例子中做过吗?我的 document.cookie 在 res.clearCookie('auth'); 之后自动被清除。适用于除 IOS 14+ 以外的所有设备
标签: javascript node.js express cookies session-cookies