Node.js会话还记得我在注销时访问用户的电子邮件吗?

时间:2014-10-07 06:30:38

标签: javascript node.js cookies

类似于google登录https://accounts.google.com/ServiceLogin,当您选中“保持登录状态”登录然后注销时,您会填写电子邮件字段以及图片。

我认为这是一个很酷的UI功能,所以我实现了https://github.com/jaredhanson/passport-remember-me但cookie只有在登录时才可用,注销会破坏cookie。

所以搞乱我做了这个

// when the user logs in 
User.findOne({ _id: req.user.id }, function (err, user) {

    user.save(function(err) {
        if(err)
            console.log('error');
        else 
            res.render('app', { user: req.user }); 
            res.cookie('testCookie', req.user.local.email, { maxAge: 900000, httpOnly: true });
    });

});

如果req.body.remember_me为真,我将需要验证并仅设置Cookie,但现在这会设置一个像这样的cookie

enter image description here

然后当我渲染登录页面时,我这样做

res.render('login', { user: req.cookies.testCookie }); 

显然我认为这不好,但如果我无法访问已注销用户的数据,我感到困惑的是https://github.com/jaredhanson/passport-remember-me的目的是什么?

查看googles Cookie,他们不会像我这样做的那样公开电子邮件

enter image description here

看着它有一个ID=b1051bd

所以IDK任何帮助都会很棒,我正在努力记住在注销时检查记住我框的用户。

0 个答案:

没有答案