Firebase托管与重写功能不会设置会话cookie

时间:2018-04-08 09:26:54

标签: firebase express google-cloud-functions firebase-hosting express-session

我使用nodejs express app与express-session和firebase。

Firebase托管配置为重定向到Firebase功能。

我试图在会话中存储一些数据。如果我通过功能URL访问应用程序,它可以很好地工作。

但是,当我尝试通过托管网址访问时,应用不会存储会话Cookie。

E.g。

http://localhost:5001/my-project/us-central1/app/ - this one sets cookie

http://localhost:5000/ - this one not.

我的应用会话配置如下:

app.use(
    session({
        secret: appConfig.appSecret,
        name: '__session',
        cookie: {
            secure: false,
            httpOnly: false
        }
    })
);

如何强制firebase托管设置cookie?

1 个答案:

答案 0 :(得分:1)

最后,我找到了解决方案。

要设置 __ session Cookie,您需要为会话设置回复标题。

res.setHeader('Cache-Control', 'private');