【发布时间】:2016-05-19 01:32:34
【问题描述】:
我试图在我的Node.js 和Express Web 应用程序的身份验证期间为JSON Web Token 简单地设置cookie。
既然我在使用res.cookie() 后无法做到res.redirect,我该如何实现呢?
router.post('/', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (!user) { return res.redirect('/auth'); }
var theToken = jwt.encode({ id : user.id }, req.app.get('appSecret'));
res.cookie(theToken);
return res.redirect('/profile/' + username);
})(req, res, next);
});
我是否正确地解决了这个问题?我找不到很多关于人们在创建 JSON Web Tokens 后如何设置它们的信息。
【问题讨论】:
-
为什么要使用 cookie 和令牌?这将破坏 JWT 的主要优势(无会话)
-
主要好处是保持 RESTful 设计并将服务器与客户端解耦。
标签: javascript node.js authentication express json-web-token