Я немного смущен некоторым поведением, которое я вижу с Firebase. Я никогда не использовал старую версию, но я считаю, что getRedirectResult является новым, поскольку они объединили усилия с Google.
У меня есть SPA, который я использую Vue.js с vue-router и Firebase for. Существует целевая страница, а затем другое представление, для которого пользователи могут войти в систему, или нет. Вход осуществляется путем перенаправления. Когда это второе представление загружается, я проверяю getRedirectResult на крюке "активировать" vue-router, а если есть пользователь, делайте некоторые другие вещи с информацией о пользователе.
Проблема продолжается так:
1. Мы находимся на второй странице. Пользователь регистрируется. GetRedirectResult вызывается и находит пользователя. Yay.
2. Пользователь выходит из системы. Мы вернулись на целевую страницу.
3. Мы нажимаем кнопку, которая ведет нас к второй странице. getRedirectResult вызывается и находит предыдущего пользователя. Какие?! Нет!
Я ничего не могу найти о том, что я что-то упускаю и нуждаюсь в какой-то дополнительной проверке на месте, или каким-то образом принудительно обновить страницу после выхода из системы, чтобы он забыл, что последний пользователь зарегистрировался или если это будет рассмотрено Жук. Любая помощь будет принята с благодарностью!
вызов getRedirectResult на второй странице в vue-компоненте маршрутизатора "активировать":
firebase.auth().getRedirectResult() .then((result) => { return result.user; }).then((user) => { // Do stuff. });
Обновление: Решено, сделав жесткое обновление страницы в обратном вызове выхода, следующим образом:
firebase.auth().signOut() .then(() => {window.location.href = '/'});