【发布时间】:2018-11-12 03:21:48
【问题描述】:
我在 firebase 上托管了一个 node.js 应用程序。但是,它的托管位置在这里并不重要,因为我只是尝试将一些信息存储在 /set-cookie 路径中的 cookie 中,以便可以在 /user 路径中访问它。相关代码在index.ts这里:
// create HTTP server
const app = express();
// use json form parser middleware
app.use(bodyParser.json());
// use query string parser middlware
app.use(bodyParser.urlencoded({ extended: true }));
// cookies
app.use(cookieParser());
app.use(cookieSession({
name : 'session'
, keys : ['abigsecret', 'anothersecret']
, maxAge : 100 * 60 * 60 * 1000
}));
// setting the cookie here
app.get('/set-cookie', (req,res) => {
res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
res.send('cookie set...');
}})
// And I would like to access it here
app.get('/user' , (req, res) => {
console.log('cookies: ', req.cookies)
res.render('pages/user')
});
当然,这并没有按预期工作。因为在控制台上我没有看到我在/set-cookie 中设置的cookie,而是看到了一些传递给服务器的客户端cookie。设置 cookie 以便我可以在其他地方访问它的方法是什么?
当我在“/get-cookie”之后导航到“/user”时,我在控制台上看到的是这个
info: cookies: { _ga: 'GA1.1.1192529393.1524186034',
ss_cvr: '5407c247-08f6-4b6d-8b27-e623c7788eef|1523239108805|1524436640490|1524443386060|46' }
info:
但我应该看到一些版本的:'rememberme', '1', 对吗?
【问题讨论】:
-
您是否在 /user 之前导航到 /set-cookie?对我来说似乎工作得很好。
-
@clockwatcher 是的。你是如何访问这个位的:'rememberme','1'?用我提供的代码?我的做一些不同的事情>可能是因为我的托管在 firebase 上?
标签: node.js firebase express cookies session-cookies