Я использую firebase для аутентификации. Каждый раз перед тем, как выполнить запрос к бэкэнду, я запрашиваю idToken.
service.interceptors.request.use(async request => {
const token = await firebase.auth().currentUser.getIdToken();
if (!token && request.url !== '/signIn' && request.url !== '/register') {
toast.error('Not authenticated');
return;
}
request.headers.Authorization = 'Bearer ' + token;
return request;
});
Кроме того, у меня есть запрос к бэкэнду, который будет работать в подключенном хуке моего vue компонента.
mounted() {
plantService.getPlants().then(data => (this.suspicionList = data));
}
Обычно это работает, но проблема в том, что, когда я обновляю sh страницу, firebase.auth (). CurrentUser равен нулю, и запрос не будет выполнен, поэтому не будет возвращен любые данные.
Я уже пытался создать вычисляемое свойство и наблюдать это в наблюдателе. Но не работает. Кроме того, у меня есть основной наблюдатель для пользователя в моем основном файле. js, например:
firebase.auth().onAuthStateChanged(user => {
store.dispatch('FETCH_USER', user);
});
У кого-нибудь есть идеи?
Спасибо!