Мы работаем над iOS-приложением, которое использует Google для аутентификации с помощью firebase. Согласно https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase говорит, что токены auth истекают каждые 24 часа. Нам интересно, нужно ли нам рассмотреть следующий сценарий:
- Пользователь аутентифицируется с помощью Google и Firebase
- Наше приложение получает токен Firebase, который истекает через 24 часа.
- Пользователь закрывает наше приложение iOS
- За 1 минуту до истечения срока действия токена Firebase, пользователь снова открывает приложение
- Через минуту мы обращаемся к Firebase. Идентификатор auth истек.
Кажется, нам нужно повторно проверить подлинность с Firebase, наблюдая за изменениями проверки подлинности на https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication. Но нужно ли нам повторно отправить тот же запрос Firebase с № 5 выше? Также кажется, что мы можем повторно проверить подлинность в cancelBlock:
[ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
} withCancelBlock:^(NSError *error) {
NSLog(@"%@", error.description);
// reauthenticate and then re-issue request?
}];
Это не было бы идеальным, потому что нам пришлось бы писать этот код везде, где мы делаем запрос.
Каковы наилучшие методы решения этого сценария? Firebase автоматически обновляет токен аутентификации, когда он близок к истечению срока?