gpt4 book ai didi

node.js - Firebase verifySessionCookie() 导致应用程序在部署到 Firebase 时超时,但在本地工作正常

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:54 25 4
gpt4 key购买 nike

在我的网络应用程序中,有一个页面“interfacePage”,我想限制对它的访问(服务器端)。因此,每次调用页面时,我都会使用一个函数从客户端 cookie 获取 firebase session cookie,然后检查其有效性。如果有效,则渲染interfacePage,否则渲染登录页面。

代码片段

function isAuthenticated(req, res, next){
try {
var sessionCookie = req.cookies.session;
console.log(sessionCookie);
admin.auth().verifySessionCookie(sessionCookie, true)
.then(function(decodedClaims){
console.log("token verified");
next()
})
.catch(function(error){
console.log(error);
res.redirect('/users/login');
});
}catch (err)
{
console.log(err);
}
};

router.get('/interfacePage', isAuthenticated,function (req, res, next) {
//isAuthenticated is called when this get is called. If next() is called from isAuthenticated, then function (req, res, next) is called which renders page
res.render('interfacePage');
});

这段代码在本地运行得非常好。但是,一旦我部署它并通过 firebase 控制台启动应用程序,每当我请求 interfacePage 时,它​​都会不断地给我网关超时错误。我想大概是这样的

admin.auth().verifySessionCookie(sessionCookie, true)

由于某种原因,响应时间过长。

如有任何帮助,我们将不胜感激。

最佳答案

好吧,显然 firebase 会删除除名称为“__session”的 cookie 之外的所有 cookie。我将 cookie 的名称从 session 更改为 __session,现在它可以工作了。

关于node.js - Firebase verifySessionCookie() 导致应用程序在部署到 Firebase 时超时,但在本地工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54894223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com