Je veux générer automatiquement des comptes utilisateur en générant un nom d'utilisateur et un mot de passe aléatoires, puis l'utilisateur est automatiquement connecté (l'utilisateur ne connaît pas son nom d'utilisateur/mot de passe, son navigateur stocke simplement le cookie de session). Le passeport fonctionne comme middleware, alors comment puis-je authentifier l'utilisateur que je viens de générer? Ou, serait-il préférable de rediriger en quelque sorte vers mon itinéraire app.post('/login')
et d'envoyer ces variables? (Mais en envoyant ceux-ci au navigateur, juste pour être renvoyé au serveur ne semble pas très sécurisé ou efficace).Comment authentifier un serveur côté utilisateur avec Passport JS?
app.get('/signup', function(req, res) {
if(req.isAuthenticated()) { res.redirect('/'); }
else {
var today = new Date();
var weekDate = new Date();
weekDate.setDate(today.getDate() + 7);
var key1 = Math.random().toString();
var key2 = Math.random().toString();
var hash1 = crypto.createHmac('sha1', key1).update(today.valueOf().toString()).digest('hex');
var hash2 = crypto.createHmac('sha1', key2).update(weekDate.valueOf().toString()).digest('hex');
var newUser = new models.User({
username: hash1,
password: hash2,
signupDate: today,
accountStatus: 0,
expirationDate: weekDate,
});
newUser.save(function(err) {
if(err) {}
console.log("New user created.");
//HOW CAN I PASS USERNAME AND PASSWORD ARGUMENTS???
passport.authenticate('local')();
res.redirect('/login');
})
}
});
Merci beaucoup! J'aimerais que cela soit plus visible sur la documentation de Passport. –
Je suis d'accord, c'est assez caché et je me souviens aussi avoir du mal à le trouver. – rdrey