Sono una specie di novità nello sviluppo di Node.js e attualmente sto lavorando a un progetto per animali domestici nel mio tempo libero.Qual è il modo migliore per mixare passport-facebook e passport-jwt?
Finora ho creato l'autenticazione JWT utilizzando passport e passport-jwt per la strategia e lo sto utilizzando in tutte le mie API RESTful.
Ora sto pensando di mescolare questo con una sorta di autenticazione di Facebook che ancora vuole rimanere con l'autenticazione di token.
Attualmente questo è come sto generazione e ottenere il token:
exports.authenticate = function(req, res) {
User.findOne({
email: req.body.email
}, function(err, user) {
if (err)
return res.status(400).send(getErrorMessage(err));
if (!user) {
res.status(400).send({
success: false,
message: 'Authentication failed. User not found.'
});
} else {
if (user.checkPassword(req.body.password)) {
let token = jwt.encode(user, config.secretPhrase);
res.json({
success: true,
token: 'JWT ' + token
});
} else {
res.status(401).send({
success: false,
message: 'Authentication failed. Wrong password.'
});
}
}
});
};
app.route('/api/users/authenticate')
.post(user.authenticate);
E per convalidare faccio la seguente:
let user = require('../../app/controllers/user-controller');
app.route('/api/todos')
.get(user.validateLogin, todos.list)
.post(user.validateLogin, todos.create);
user-Controller:
exports.validateLogin = passport.authenticate('jwt', {
session: false
});
Chiunque può suggerire un modo pulito per mescolare le due strategie? dovrei usare express-jwt? Qual è la differenza tra express-jwt e passport-jwt?