Я делаю простой бэкэнд API для веб-приложения React, используя Express. Я пытаюсь аутентифицировать пользователя с помощью PassportLocalMon goose. Раньше я заставлял это работать, отображая E JS в качестве ответа, поэтому я знаю, что плагин работает с MongoDB должным образом. Сейчас я пытаюсь использовать его с внешним интерфейсом React, поэтому вместо рендеринга E JS я просто хочу отправить код состояния «200», когда вход в систему будет успешным. Это новый код для обработки запроса:
router.post("/login", passport.authenticate("local"),
function (req, res) {
res.status(200);
res.send("Login successful");
}
);
Существующий код в нижней части моего файла пользовательской схемы (user. js):
userSchema.plugin(passportLocalMongoose);
И еще существующий код в мое приложение. js файл:
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
Я отправил запрос POST на http://localhost:8080/login
, используя Postman с HTTP-текстом:
{
"username": "asdf",
"password": "asdfjkl"
}
Вместо получения '200' код или «401 несанкционированный» код, если он не работает, я получаю «400 неверный запрос». Кто-нибудь может заметить, что я делаю не так?