При первом запуске у юзера, по сути хочу реализовать логин и загрузку основных данных при загрузке страницы
// store/index.js
export const actions = {
nuxtServerInit({dispatch}) { // Активируется с запуском сервера у юзера (перезагрузка сайта или открытие второй вкладки). Диспатчится сам.
dispatch('auth/autoLogin')
}
}
// store/auth.js
import Cookie from 'cookie' // Служит для парсинга
import Cookies from 'js-cookie' // Для записи и удаления различных куки
import jwtDecode from 'jwt-decode'
// ...
export const actions = {
// ...
autoLogin({dispatch}) {
const cookieStr = process.browser
? document.cookie
: this.app.context.req.headers.cookie
const cookies = Cookie.parse(cookieStr || '') || {}
const token = cookies['jwt-token']
if (isJwtValid(token)) {
dispatch('setToken', token)
} else {
dispatch('logout')
}
}
}