我正在尝试在 Cloud Functions for Firebase 中创建一个动态网站。
但是,我被困在这一点上。
我想要实现的是我想保存特定的表单详细信息,然后在用户登录时将它们推送到数据库。如果用户未登录,我想将这些表单详细信息保存在某处,然后重定向用户登录。当他登录时,我将表单详细信息保存在他的userid
.
现在我想为此使用firebase-cookie-session。因为它是 firebase 云功能中唯一允许的功能。
但是,我的问题是当用户被重定向到登录时。我不再有权访问该请求中的会话。
这就是我的处理方式:
我设置了我的快递应用程序:
var session = require('firebase-cookie-session');
app.use(session({
keys: ['cookie_secret'],
name: 'session',
sameSite:true,
proxy: true,
resave: true,
saveUninitialized: true,
maxAge: 360*12*24*36*36
}));
然后在帖子中我将数据保存在session
:->console.log(req.session.packageDetails)
完美运行
homepageRouter.post("/save-form-details", function (req, res, next) {
const packageDetails = JSON.parse(JSON.stringify(req.body));
firebaseController.isUserSignedIn().then(signedinUser => {
if(signedinUser){
firebaseController.getCurrentUser().then(currentUser => {
firebaseController.putPackageToUser(currentUser, packageDetails).then(success => {
return success;
});
}).catch(errorMessage => {
console.log(errorMessage);
});
} else {
req.session.userSignedIn = false;
req.session.packageIncluded = true;
req.session.packageDetails = packageDetails;
console.log('Hello Hello Hello Hello Hello Hello');
console.log(req.session.packageDetails);
res.send({
userSignedIn: false,
redirectTo: '/signup-login'
});
}
console.log('User Status: ' + signedinUser);
console.log('Server Side: ' + JSON.parse(JSON.stringify(req.body)));
});
});
在从上面重定向到下面的会话后,未定义,不知道为什么。
signupLoginRouter.post("/login", function (req, res, next) {
const accountJSON = JSON.stringify(req.body);
let account = JSON.parse(accountJSON);
console.log('HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELP');
console.log(req.session.packageDetails);
}
我想我要么设置错误,要么理解错误。如果有人可以提供帮助。Thay将不胜感激