【发布时间】:2017-08-20 13:23:04
【问题描述】:
我想知道为什么在 firebase 函数中设置 set-cookie 标头时,在使用 firebase 工具模拟器时,它不会显示在浏览器的响应标头中。
exports.test = functions.https.onRequest((req, res) => {
res.setHeader('Authorization', 'Bearer token')
res.setHeader('Set-Cookie', ['__session=ninja'])
res.end()
})
【问题讨论】:
-
通常你不想在响应上设置
Authorization(它属于请求),但我不确定为什么cookie不会被设置。我们可能正在剥离它,只允许客户端设置的 cookie,下周初将不得不进行调查。 -
是的,我正在测试它。使用 express cookie-parser 和 cookie-session 时,我得到的是:在 firebase 上服务:没有使用 res.cookie('__session') 设置 cookie,也没有使用 req.session.token = token on firebase 设置 cookie部署没有使用 res.cookie('__session') 设置的 cookie 和使用 req.session.token = token 设置的 cookie 但它不会在 req 中读取,因为 firebase 只允许 '__session'。试图在浏览器端进行无 js 类型的身份验证以使其渐进但我无法设置它
-
似乎 Firebase 模拟器不允许设置 cookie。但是当部署到 Firebase 托管时,cookie 已设置好并且可以正常工作
标签: javascript firebase google-cloud-functions firebase-hosting