Проверка подлинности Firebase/срок действия токена пользователя истек: Где возникает ошибка? (JS)

# #javascript #firebase #firebase-authentication #angularfire

Вопрос:

Предыстория:
Мы вручную отзываем наши токены обновления firebase с помощью пакета SDK администратора firebase в нашем бэкэнде. В нашем приложении angular мы используем метод onAuthStateChanged firebase.auth (), чтобы определить, прошел ли пользователь аутентификацию. С результатом onAuthStateChanged мы используем метод .getIdTokenResult (), чтобы получить некоторые метаданные о пользователе и сохранить их локально.

Проблема:
После отзыва токена обновления пользователя с нашего бэкенда мы ждем истечения срока действия идентификационного токена клиента (в течение часа). Ближе к истечению срока действия мы замечаем, что в журнале клиентской консоли появляется необнаруженная ошибка. Мы понимаем, что это нормально, так как мы только что отозвали токен обновления, и это было связано с обновлением. Проблема в том, что мы не можем понять, где поймать это исключение и где оно выбрасывается. Мы разместили .catches() , try/catches и предоставили обратные вызовы ошибок для всех подозрительных вызовов (onAuthStateChanged, getIdTokenResult), но, похоже, мы все еще получаем исключение.

Существует ли внутренний процесс, который автоматически пытается обновить токены? Если да, то как нам поймать эту ошибку?

Мы думаем, что это внутреннее, потому что трассировка стека довольно сложна для отслеживания и не ведет нас ни к чему продуктивному.

Сведения об ошибке:

 code: auth/user-token-expired
message: The user's credential is no longer valid. The user must sign in again.
 

А вот бессмысленная трассировка стека
вот бессмысленная трассировка стека