重定向到新的子域并在重定向的子域上设置 cookie

Redirect to a new subdomain and set cookie on the redirected subdomain

快递:4.x

NodeJS: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');
})

但是 none 的 cookie 是在 b.example.com 中设置的。我在这里错过了什么?

好的,所以我通过尝试 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');

如果您在本地检查此内容,即在 http://localhost 上,您将看不到安全 cookie。