Я использую локальную стратегию со следующей конфигурацией:
passport.use(
new LocalStrategy((username, password, done) => {
process.nextTick(() => {
findByUsername(username, (err, user) => {
if (err) {
return done(err);
}
if (!user) {
return done(null, false, { message: `Unknown user ${username}` });
}
if (user.password !== password) {
return done(null, false, { message: "Invalid password" });
}
return done(null, user);
});
});
})
);
И конечная точка login
определяется ниже следующим образом:
server.post(
"/login",
passport.authenticate("local", {
successRedirect: "/",
})
);
Это успешно работает какожидается, однако мне не нужно использовать опцию successRedirect
, но если я уберу эту опцию, я получу ответ кода состояния 404
при выполнении запроса:
POST http://localhost:3001/login 404 (не найдено)
Вот код без successRedirect
:
server.post("/login", passport.authenticate("local"));
Я также пытался настроить authenticate
с другими параметрами, но безsuccessRedirect
, но я получаю то же сообщение об ошибке.
Используемые версии зависимостей: express 4.16.4
, passport 0.4.0
и passport-local 1.0.0