Быстрое перенаправление аутентификации Firebase

#javascript #firebase #firebase-authentication

# #javascript #firebase #firebase-аутентификация

Вопрос:

Когда пользователь заходит на мою страницу example.com , я определяю, есть ли у него активный сеанс. Если это так, я перенаправляю его на example.com/dashboard . Мой код:

  <head>
    . . . .
    <script src="https://www.gstatic.com/firebasejs/7.14.3/firebase-app.js"></script>    
    <script src="https://www.gstatic.com/firebasejs/7.14.3/firebase-auth.js"></script>
    <script src="assets/js/config.js"></script>
  
    <script>
         firebase.auth().onAuthStateChanged( function( user ){
             if( user ){ window.location = 'dashboard'; }
         });
    </script>
 </head>
 

Это работает нормально, но очень медленно. Сначала загружается страница, а затем выполняется перенаправление. Я хочу, чтобы это произошло немедленно

ожидаемый результат (miro.com ): https://streamable.com/y6z7mc

Ответ №1:

Обратный onAuthStateChanged вызов запускается не сразу, и вы ничего не можете сделать, чтобы ускорить это. Просто требуется время для инициализации auth SDK, попытки загрузить токен пользователя и его проверки. Вы можете прочитать больше о том, как это работает, в этом сообщении в блоге.

Вместо этого вы можете показать какой-то индикатор загрузки или экран ожидания, пока пользователь ожидает завершения этого процесса.