首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未删除IOS平板和智能手机上的会话cookie

问未删除IOS平板和智能手机上的会话cookie
EN

Stack Overflow用户
提问于 2021-01-24 11:31:45
回答 1查看 466关注 0票数 0

使用node.js速成库清除注销时的cookie

代码语言:javascript
复制
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函数不删除cookie的可用选项,但没有结果。

但是,在IOS设备上使用隐名模式是有效的,这意味着cookie被清除,同时关闭浏览器(清除会话)也有效。

设置cookie (登录)时,我使用默认值

res.cookie('auth')

有人知道发生了什么事吗?

编辑

在iPhone5c上试用了IOS 10,它可以工作。似乎真的是14+的问题

EN

回答 1

Stack Overflow用户

发布于 2021-02-04 09:50:14

一些背景资料。根据HTTP规范,没有办法删除cookie。清除cookies的常见方法是将过期时间设置为过去的某个时间( express中的clearCookie函数使用这种方法)

clearCookie()的源代码

代码语言:javascript
复制
res.clearCookie = function clearCookie(name, options) {
  var opts = merge({ expires: new Date(1), path: '/' }, options);
  return this.cookie(name, '', opts);
}

问题可能在于IOS 14中新的隐私特性所导致的cookie设置问题,这意味着对cookie的设置有一个非常严格的政策。可能"clearCookie“使用的”设置过期“方法在IOS 14中是不允许的。

顺便说一句,一定要在"options“对象中检查"path”属性是否正确。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65869993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档