У меня есть API на node.js, с экспрессом.Этот API регистрирует пользователя. Я использую passsport для аутентификации.
У меня есть два маршрута: / login и / companies.Для начала пользователь должен войти в систему, он получает токены, а я - в систему. После этого он / она должен получить доступ к маршруту / компаниям, однако они должны войти в систему.
Дляпроверить, если пользователь вошел в систему, я использую req.user.Вот код для подтверждения входа пользователя в маршрут / компании:
exports.list = function (req, res, next) {
console.log(req.user);
if (!req.user) {
return res.status(404).send("Precisa estar logado.");
}
...
Вот настройки моего сервера:
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.set('trust proxy', 1) // trust first proxy
app.use(session({
secret: 'MotomcoGroupAjm999MOTOMCO',
resave: false,
saveUninitialized: true,
cookie: { httpOnly: false }
}))
// Flash - Gerenciador de mensagens de resposta do servidor.
app.use(flash());
app.use(pass.initialize());
app.use(pass.session());
При выполнении тестов с Почтальоном, я могу получить доступ к / компаниям безпроблемы, но когда я пытаюсь получить доступ, после входа в систему, через браузер, я попадаю в (!req.user)
.
Это вопрос куки?Однако я пытался использовать при выполнении запроса к серверу с Angular withCredentials, но безуспешно.
Вопрос : Почему сеанс записывается в тесты с Почтальоном, ноне записывается в браузере, когда я тестирую с Angular?Что я забыл сделать на стороне клиента?