У меня есть vue
приложение, аутентифицирующееся с laravel
с использованием jwt
.
Мне нужно сохранять состояния при обновлении страницы.
function setAxiosHeaders(){
let user = getLocalUser()
if (user && user.token){
axios.defaults.headers.common = {
'Accept': 'application/json',
'Authorization': `Bearer ${user.token}`
}
}
return user
}
[...]
// during store init
const user = setAxiosHeaders()
store.commit('auth/user', user)
[...]
// during login action
loginSuccess(state, payload){
state.loading = false
state.authError = null
state.isLoggedIn = true
payload.user.token = payload.access_token
state.user = payload.user
localStorage.setItem('user', JSON.stringify(state.user))
},
[...]
Таким образом, в основном, после 2-го обновления, состояние теряется и пользовательский элемент внутри localStorage
имеет значение null.
Что мне не хватает?