繁体   English   中英

Safari 上的跨站点跟踪不允许快速会话发送 cookie

[英]Cross site tracking on safari not allowing express session send cookies

因此,我构建了一个使用护照和快速会话进行身份验证的应用程序。 当我部署时,我发现 safari 并没有让 express session 工作,直到我在其设置中关闭“跨站点跟踪”。 我该如何进行这项工作?

根据这篇文章https://sarav.co/session-persisting-issue-safari我需要手动将其关闭,但老实说我不能指望我的用户手动执行此操作。

以下是我如何设置我的快速会话:

app.set('trust proxy', 1);

app.use(session({
    secret: process.env.SESSION_SECRET,
    resave: false,
    saveUninitialized: false,
    cookie: {
        secure: true,
        httpOnly: true,
        sameSite: 'none',
        maxAge: 60 * 60 * 24 * 1000
    },
    store: MongoStore.create({
        mongoUrl: process.env.DB_URL,
        ttl: 14 * 24 * 60 * 60,
        autoRemove: 'native',
    })
}));

从这里使用具有正确选项的 CORS 中间件 - https://expressjs.com/en/resources/middleware/cors.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM