У меня есть интерфейсы внешнего веб-приложения с API, встроенным в Laravel с Passport.
Моя проблема в том, что когда я обновляю свою страницу (в SPA, написанном с помощью Vuejs / Vuex), я должен обновить свой токен для сеанса обновления с моим Api.
Я пробовал использовать main.js, но проблема в том, что запрос асинхронный, а ответ пришел после маршрутизации.
main.js
if (localStorage.getItem('refresh_token')) {
store.dispatch('refresh_token').then(function(response){
console.log(response);
});
}
new Vue({
router,
store,
env,
render: h => h(App)
}).$mount('#app')
Токен обновления функции, вызовите мой Api и с ответом установите новый токен и новый токен обновления. Но моя проблема в том, что я делаю этот вызов таким образом, что могу сделать первый асинхронный вызов на моей «приборной панели» со старым токеном, а затем с новым. Я пробовал по-разному, но не знаю, есть ли лучшая практика.
Итак, мой вопрос: где мне следует обновить токен в приложении Vuejs с помощью хранилища vuex?