Создал такой роут:
// /api/auth/getUserByToken
router.post(
'/getUserByToken',
passport.authenticate('jwt'),
(req, res) => {
res.json({
username: req.user.username,
email: req.user.email,
id: req.user.id
});
}
);
Думал его диспатчить в nuxtServerInit:
nuxtServerInit({ dispatch }) {
dispatch('auth/autoSignin');
dispatch('auth/getUserByToken');
}
AutoSign просто проверяет куки браузера и достает оттуда токен, поэтому это спокойно вносится во Vuex.
getUserByToken делает запрос на вышеуказанный роут, получает пользователя, через мутации коммитит, но пользователь в state не сохраняется.
setUser(state, user) {
console.log(user); // Нужная информация пришла
state.user = user;
console.log(state.user); // Стейт обновился, но на клиенте не появился
},
Почему так - я примерно понял, вопрос в том, как сделать правильно и чтобы работало?