В Firebase 9.0.0 API, как проверить, что пользователь имеет действительный сеанс аутентификации или нет?

В устаревшем API Firebase я использовал «mFirebase.getAuth (). GetExpires ()» для проверки пользовательского сеанса. Но в новом Firebase 9.0.0 API я не смог найти такую ​​проверку.

Сейчас я проверяю наличие сеанса Auth, как показано ниже,

public static boolean hasValidAuthToken() { return FirebaseAuth.getInstance().getCurrentUser() != null ? true : false; } 

Как я могу справиться с этим, если токен истек?

Обновление: на самом деле я выполняю обычную проверку подлинности. С сервером Firebase sdk (java) на стороне сервера. По умолчанию токен auth истекает через 1 час.

После ошибки после того, как токен истек,

 D/ConnectionRetryHelper: Scheduling retry in 398ms D/PersistentConnection: pc_0 - Trying to fetch auth token D/PersistentConnection: pc_0 - Error fetching token: An internal error has occured. [ Internal error. ] D/PersistentConnection: pc_0 - Scheduling connection attempt 

Как я могу справиться с этим сценарием?

Заранее спасибо!

У последней версии Firebase есть ошибка, чтобы сохранить токен «свежий».

В этой дискуссии разработчик Google поделился руководством для решения этой проблемы.

Руководство: https://drive.google.com/file/d/0B94LePkXiqa6SXVFd3N1NzJHX1E/view

Это сработало для меня.

Проверка, которую вы выполняете, должна быть достаточной для взаимодействия с базой данных или хранилищем Firebase, токены автоматически обновляются в SDK для проверки подлинности.

FirebaseAuth.getInstance (). GetCurrentUser () вернет значение null, если он не аутентифицирован Firebase. Это произойдет, если пользователь выйдет или никогда не был подписан.

Созданная JWT серверная сторона для пользовательского auth имеет максимальный срок службы 60 минут. Если вы еще не использовали его для аутентификации пользователя Firebase до этого, я ожидаю, что вы увидите ошибку, как вы упомянули.

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

См. https://firebase.google.com/docs/auth/android/custom-auth о том, как отправить пользовательский токен Firebase и аутентифицировать пользователя.

Intereting Posts
Фрагмент входа в Facebook закрывает приложение, используя Facebook SDK 3.0.1 Android настроил гравитацию для TextView программно Как отключить раскрывающийся список AutoCompleteTextView? Как игнорировать нажатие клавиши «Поиск» в диалоговом окне «Диалог» Как увеличить память для Android Emulator? (INSTALL_FAILED_INSUFFICIENT_STORAGE) Скрытие нижнего колонтитула в ListView Сохранить позицию прокрутки с каждым обновлением в режиме просмотра списка Как я могу узнать, сколько памяти кучи у меня есть в любой момент? Android – объединить два видео Вход в HTML-файл на Android 5.1.1 не отображает галерею Как включить обновления кучи на моем Android-клиенте Как установить Android SDK Platform-Tools 24.0.0? Определение DEVELOPER_MODE для StrictMode Сложная панель инструментов: установите, насколько панель инструментов должна быть свернута в onCreate Как я могу изменить разрешения на чтение / запись в папке / mnt / SDcard на Kindle Fire?