Как сохранить пользователя после истечения срока действия Firebase Token через 1 час? - PullRequest
0 голосов
/ 28 октября 2019

Я использую Firebase в своем проекте и использую метод getIdToken () для возврата токена и аутентификации пользователя. Однако сеанс пользователя в приложении всегда заканчивается через 1 час из-за истечения срока действия токена. Как мне сохранить сеанс пользователя после его истечения?

Я прочитал документ Firebase и другие вопросы о проблеме, и мне кажется, что мне нужно использовать токен обновления, чтобы сохранить сеанс после истечения срока действия токена, но я все еще не до конца понимаю и считаю его труднымреализовать. Например, я прочитал ответ от Как использовать Firebase refreshToken для повторной аутентификации? и Firebase: когда мне следует использовать refreshToken? , насколько я понимаю, это означает, что когда мы делаемcall .getIdToken (true) Firebase уже управляет токеном обновления, и нам не нужно с ним обращаться, верно ли это?

Спасибо за любую помощь.

1 Ответ

1 голос
/ 28 октября 2019

Вход пользователя в систему всегда продолжается до тех пор, пока вы вручную не вызовете метод signOut, предоставляемый SDK вашей платформы. Вам не нужно ничего делать, чтобы заставить работать токен обновления - все это также управляется SDK.

Что вам нужно сделать, так это использовать «слушатель состояния авторизации», чтобы определить, когда это обновление завершено, поскольку это не мгновенно. Если вы не используете прослушиватель и вместо этого обращаетесь напрямую к «currentUser», текущий пользователь будет иметь значение null, пока обновление не будет выполнено успешно. Обновление не будет выполнено в автономном режиме и не будет немедленным.

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

...