【发布时间】:2016-07-29 07:31:03
【问题描述】:
我正在尝试将facebookPicUrl 图片保存在 cookie 中。我在回调请求中看到了,但是在浏览器的cookie存储中没有看到。需要明确的是,会话 cookie 没有问题。
auth.route('/auth/facebook/callback')
.get(function(req, res, next) {
passport.authenticate('facebook', function(err, userDoc, info) {
if (err) { return next(err); }
// I don't think !userDoc will ever happen because of mongo upsert
if (!userDoc) { return res.redirect('/login'); }
res.cookie('facebookPicUrl', userDoc.value.facebook.picture, {maxAge : 99999,
httpOnly: false,
secure: false,
signed: false
});
res.redirect('http://127.0.0.1:9000/users')
})(req, res, next);
});
这里是回调地址:
但不在 cookie 存储中:
【问题讨论】:
-
我在第一张图片中看到 cookie facebookPicUrl 的过期时间约为 1.6 分钟。也许cookie已经过期并被浏览器自动删除!我还看到请求 cookie 包含 facebookPicUrl。这意味着,浏览器之前确实存储了您的 facebookPicUrl cookie。所以我假设您的 facebookPicUrl cookie 已过期。能否延长过期时间?
-
不,我随后检查了......在 1.6 分钟内很好。另外,我把 cookie 时间改成了 2.8 小时,还是没有显示出来。
-
由于这个cookie不是httpOnly,我们可以在Chrome控制台中运行document.cookie来检查输出的内容吗?
-
正确,它只显示会话 cookie...
facebookPicUrlcookie 不存在。 -
有趣,也许 facebookPicUrl 已从其他地方删除。
标签: javascript node.js facebook cookies passport.js