首页 > 解决方案 > 重定向到新的子域并在重定向的子域上设置 cookie

问题描述

快递:4.x

节点JS:12.x

a.example.com 上,我有一个GET监听器,它重定向到b.example.com并在b.example.com上设置一个 cookie 。

app.get('/foo', (req, res) => {
    res.cookie('name', 'foo', { domain: '.example.com', path: '/', secure: true })
    res.cookie('age', '21', { domain: '.example.com', path: '/', secure: true })
    res.redirect(302, 'https://b.example.com');
})

但是b.example.com中没有设置任何 cookie 。我在这里想念什么?

标签: javascriptnode.jsexpresscookiessubdomain

解决方案


好的,所以我通过使用 res.cookie 选项找到了答案。如果有人遇到这个,这里是正确的配置。

如果您的客户端 JavaScript 应用程序需要读取 cookie,请将 httpOnly 标志设置为 false。

res.cookie('user', 'foo', { path: '/',  domain: '.example.com',  httpOnly:false secure: false  })
res.cookie('age', '21', { path: '/',  domain: '.example.com', httpOnly:false, secure: false  })
res.redirect('https://b.example.com');

推荐阅读