성공적인 인증에서 JWT 토큰을 반환하기 위해 passport-local을 결합하려면 어떻게해야합니까?
node-jwt-simple 을 사용 하고 passport.js를 보고 싶습니다. 어떻게해야할지 모르겠습니다.
var passport = require('passport')
, LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function(err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
done ()을 호출 할 때 토큰을 반환 할 수 있습니까? 이런 것 ... (그냥 의사 코드)
if(User.validCredentials(username, password)) {
var token = jwt.encode({username: username}, tokenSecret);
done(null, {token : token}); //is this possible?
}
그렇지 않은 경우 토큰을 어떻게 반환 할 수 있습니까?