Я хочу понять, как работает LocalStrategy.Passport.js Локальная стратегия стратегии
Вот часть моего файла сервера:
var passport = require('passport');
var express = require('express');
/* other initializations */
var app = express();
passport.use = new LocalStrategy(
function(email, password, done) {
module.exports.findByUsername(email, function(err, user){
if (err) throw err;
if(!user) {
done(null, false, { message: 'Incorrect username.' });
}
else if(user.password != password) {
done(null, false, { message: 'Incorrect password.' });
}
else {
return done(null, user);
}
});
}
)
app.post("/login"
, passport.authenticate('local',{
successRedirect : "/",
failureRedirect : "/login",
}) ,
function(){
console.log("post /login");
}
);
Теперь от клиентского браузера, я посылаю запрос HTTP POST на http://localhost:8000/login
. Если аутентификация прошла успешно, пользователь будет перенаправлен на корневую страницу "/"
, и если сбой, пользователь будет перенаправлен на страницу входа еще раз.
Вопрос в том, когда мы определяем новую LocalStrategy, я определяю function(email,password, done){...}
. Однако, когда я вызываю эту функцию в app.post("/login", ...){...}
, как мне передать параметры электронной почты и пароля?
Его безопаснее сказать: «Неправильное имя пользователя или пароль», вместо того, чтобы дать намек, что не так! – renatoargh