Единственная проблема с предлагаемым подходом состоит в том, что когда вы перезагружаете страницу, вы по-прежнему не знаете состояние пользователя, поэтому довольно трудно решить, куда перенаправить или вы перенаправляете, а затем перенаправить обратно, когда состояние «разрешено» firebase.
Что я сделал, так это то, что в верхнем уровне моего приложения (место, где я подписался на onAuthStateChanged), я включил состояние, которое указывает, будет ли получен статус аутентификации с огненной базы. Пока это не так, я просто отображаю загрузочную анимацию и, получив статус (пользователь или ноль), я могу решить, куда перенаправить.