无法检索cookie-session

时间:2017-09-22 21:16:23

标签: node.js firebase google-cloud-functions cookie-session

我正在尝试在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将不胜感激

0 个答案:

没有答案