在生产中使用Firebase函数时,cookie-session
出现问题。我在Firebase Hosting中有一个React应用程序,在Functions中也有一个Express应用程序(我将其用作我的API(,我已经创建了一个模板repo,向所有人展示了这种设置(https://github.com/cjmyles/firebase-react-express)。
我正在从React应用程序向/api/*
进行fetch调用(注意缺少完全限定的url(,并使用package.json
中的proxy
配置值在开发模式中将请求代理到API;并且在生产中使用CCD_ 6中的CCD_。
在我开始使用会话之前,此操作一直很好。我有一些代码使用PassportJS模拟登录请求,其中用户信息存储在会话中,这在开发模式中有效,但在生产模式中无效。我觉得这和饼干有关。我在我的express应用程序中使用cookie-session
,我已经确保secure
标志在生产中设置为true
(因为它是通过https提供的(,但我认为当通过Firebaserewrites
代理请求时,cookie没有正确传递给API。
我是否需要向firebase.json
添加一些内容以在生产中启用cookie-session
?
当使用firebase托管的重写规则代理请求时,唯一允许的cookie是__session
。
这在https://firebase.google.com/docs/hosting/manage-cache#using_cookies.
您肯定会在这里解决您的查询。