我们正在开发一个 iOS 应用程序,该应用程序使用 Google 向 Firebase 进行身份验证。根据https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase 表示身份验证令牌每 24 小时到期一次。我们想知道是否需要考虑以下情况:
- 用户通过 Google 和 Firebase 进行身份验证
- 我们的应用获得了一个在 24 小时内过期的 Firebase 身份验证令牌
- 用户关闭我们的 iOS 应用
- Firebase 身份验证令牌到期前 1 分钟,用户重新打开应用
- 一分钟后,我们向 Firebase 发出请求。身份验证令牌已过期。
看来我们必须通过观察每个https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication的身份验证更改来使用 Firebase 重新进行身份验证。但是我们是否必须从上面的 #5 重新向 Firebase 发出相同的请求?此外,我们似乎可以在 cancelBlock 中重新进行身份验证:
[ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
} withCancelBlock:^(NSError *error) {
NSLog(@"%@", error.description);
// reauthenticate and then re-issue request?
}];
这并不理想,因为我们必须在我们提出请求的任何地方编写此代码。
处理这种情况的最佳实践是什么?Firebase 是否会在接近到期时自动刷新身份验证令牌?