passport-local mit node-jwt-simple

Wie kann ich passport-local kombinieren, um bei erfolgreicher Authentifizierung ein JWT-Token zurückzugeben?

Ich möchte benutzenNode-JWT-Simple und schauend anpassport.js Ich bin mir nicht sicher, wie ich vorgehen soll.

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);
    });
  }
));

Ist es möglich, das Token zurückzugeben, wenn done () aufgerufen wird? So etwas wie das ... (nur Pseudo-Code)

if(User.validCredentials(username, password)) {
  var token = jwt.encode({username: username}, tokenSecret);
  done(null, {token : token}); //is this possible?
}

Wenn nicht, wie kann ich den Token zurückgeben?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage