【问题标题】:Res header contaisn set Cookie but browser isn't storing itRes 标头包含设置的 Cookie,但浏览器未存储它
【发布时间】:2022-01-07 15:49:08
【问题描述】:

我正在使用 express-session 来存储会话 cookie。我可以在响应标头下看到 Set-Cookie connect.ssid,但由于某种原因它没有存储在 cookie 中。

我想知道这是否是 CORS 问题,我的应用文件看起来像这样。我是否应该在此处更改某些内容以使其正常工作。

const session = require('express-session');
const config = require('config');
var MemoryStore = require('memorystore')(session);

module.exports = function (app) {
    // app.use(
    //     session({
    //         secret: 'key sign',
    //         resave: false,
    //         saveUninitialized: false
    //     })
    // );
    app.use(express.json());
    app.use(cors({ credentials: true }));
    enter code here
    app.set('trust proxy', 1);
    app.use(
        session({
            saveUninitialized: false,
            cookie: { maxAge: 86400000 },
            store: new MemoryStore({
                checkPeriod: 86400000
            }),
            resave: false,
            cookie: { secure: false },
            secret: config.get('sessionStorage')
        })
    );
  
    app.use('/api/users', users);





【问题讨论】:

    标签: node.js express session-cookies express-session


    【解决方案1】:

    这是我解决这个问题的方法。

    1. 为前端和后端添加 SSL。
    2. 如果它是自签名的,请确保浏览器信任它。例如,如果您使用的是 mac,请转到钥匙串,选择特定证书并选择始终信任选项。
    3. 重新启动系统。只有这样才能正确设置 SSL,否则导航中仍然会出现不安全的标志。

    【讨论】:

      猜你喜欢
      • 2021-03-10
      • 2020-05-05
      • 2019-04-26
      • 2014-11-14
      • 2014-08-24
      • 2018-10-26
      • 2023-03-25
      • 2019-11-12
      • 1970-01-01
      相关资源
      最近更新 更多