【发布时间】:2016-07-29 21:59:10
【问题描述】:
护照
passport.use('jwt', new JwtStrategy(opts, function(jwt_payload, done) {
User.where({id: jwt_payload.id}).fetch().then(function(user) {
if(user) {
return done(null, user);
} else {
return done(null, false);
}
}).catch(function(err) {
return done(err, false);
});
}));
示例 2
这可行,但是当未设置 JWT 时,当我认为应该收到 401 响应时,我会收到 res = null。
app.get('/user', getProfile);
getProfile = function(req, res, next) {
passport.authenticate('jwt', {session: false}, function(err, user, info) {
if(user) {
res.json(user);
} else {
res.json(err);
}
})(res, req, next);
};
示例 2
当未设置 JWT 时,我会得到正确的 401 响应,但如果已设置,我将无法返回 user,因为 res 不存在。
app.get('/user', passport.authenticate('jwt', {session: false}, getProfile);
getProfile = function(err, user) {
if(user) {
res.json(user);
} else {
res.json(err);
}
};
那么如何将 res 传递给这个函数呢?
【问题讨论】:
标签: node.js express passport.js jwt