Firebase Auth getIdToken зависает после обновления - PullRequest
0 голосов
/ 08 мая 2018

Итак, ситуация такова:

1) Пользователь вошел в систему. Последний созданный токен был некоторое время назад и срок его действия истек. даже если это не так, проблема не решается.

2) Установлено обновление приложения. (Не для мгновенного запуска Android Studio, актуальный подписанный apk с более высокой версией приложения и кодом приложения)

3) Пользователь открывает приложение и запускает обычный код, который я использую для обновления токена id.

4) Никто из слушателей не получил удар, и никогда не было времени ожидания

Это ошибка или я здесь что-то не так делаю?

Очистка данных приложения и перезапуск устраняет все проблемы. Код работает нормально в этом случае. Застревает только после обновления.

ПРИМЕЧАНИЕ. Я установил логическое значение forceRefresh в значение false, поскольку этот код запускается при каждом запуске приложения, и я не хочу, чтобы вызывались ненужные создания токенов идентификаторов в случае ограничения поколений. ложное логическое значение обновляет токен только в том случае, если срок его действия истек.

                FirebaseAuth.getInstance().getCurrentUser().getIdToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                    @Override
                    public void onComplete(@NonNull Task<GetTokenResult> task) {

                        if (task.isSuccessful()) {
                          //logic to proceed further
                        }


                }).addOnFailureListener(new OnFailureListener() {
                    @SuppressLint("SetTextI18n")
                    @Override
                    public void onFailure(@NonNull Exception e) {

                        if(e instanceof FirebaseAuthInvalidUserException){

                            //Do stuff to log out the user session

                        }else{

                            //Some other exception occurred, let the user retry      

                        }


                    }
                });

P.S. Перед всем этим у меня есть проверка недействительности, чтобы увидеть, действительно ли есть пользователь.

1 Ответ

0 голосов
/ 18 мая 2018

Для всех, кто интересуется этим, я собрал заявку с поддержкой Firebase, и оказалось, что это ошибка в Firebase Auth 15.1.0

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

Система работает нормально до версии 12.0.1 согласно моим тестам. Пожалуйста, не обновляйте до 15.1.0, если вы планируете использовать аналогичную функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...