У меня есть приложение для блога MERN, которое я создаю в качестве учебного упражнения.Я относительно удобен на переднем крае, но у меня ограниченный опыт в узле.Я добавляю аутентификацию после нескольких уроков, чтобы пройти этот путь.Я использую passport.js в качестве фреймворка для отправки запроса в Google, получения идентификатора и сохранения информации о сеансе.Однако после входа в систему req.session становится пустым при отправке запроса на публикацию, даже если я вижу cookie в инструментах разработчика.
Я использую хеш bcrypt, чтобы скрыть фактический идентификатор, но это можетНе рекомендуется.
в blogAuth.js: определение req.session.
bcrypt.hash(req.user._id.toString(), saltRounds, function(err, hash) {
req.session.user = hash;
//session is set here.
console.log(req.session); res.redirect(
http://localhost:8080/articles/loggedIn);});
, нов api / article.js: req.session пуст
router.post("/", (req, res, next) => {
const { body } = req;
// session is empty here. Why?
console.log(
Пользователь сеанса, $ {req.session.user} );
console.log(req.session);
Я пытался:
Вот некоторые из соответствующих файлов:
Сторона сервера: - app.js - blogAuth.js - passport.js - api / article.js
Сторона клиента: - требование POST
Весь проект
Я считаю, что это проблема с заказом.Какой хороший способ убедиться, что я правильно заказал свое промежуточное программное обеспечение?Или, если порядок выглядит правильным, откуда еще может возникнуть эта проблема?