gpt4 book ai didi

ios - 需要 Firebase 重新验证

转载 作者:技术小花猫 更新时间:2023-10-29 10:18:23 25 4
gpt4 key购买 nike

我们正在开发一个 iOS 应用程序,该应用程序使用 Google 通过 firebase 进行身份验证。根据https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase 表示授权 token 每 24 小时过期一次。我们想知道是否需要考虑以下情况:

  1. 用户通过 Google 和 Firebase 进行身份验证
  2. 我们的应用获得 24 小时后过期的 Firebase 身份验证 token
  3. 用户关闭我们的 iOS 应用
  4. Firebase 授权 token 过期前 1 分钟,用户重新打开应用
  5. 一分钟后,我们向 Firebase 发出请求。授权 token 已过期。

看来我们必须通过观察每个 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 是否会在接近到期时自动刷新身份验证 token ?

最佳答案

显然,问题是关于旧版本的 Firebase 及其 SDK。当前版本的 Firebase (3.X) 让您更轻松,因为 Firebase 会记住用户上次登录您应用的方式。

所以你应该简单地调用FIRApp.configure() 一如既往在您的 application: didFinishLaunchingWithOptions launchOptions: 然后在您的应用程序启动时添加一个状态监听器,例如

FIRAuth.auth()?.addStateDidChangeListener() { (auth, firUser) in 
// do something with firUser, e.g. update UI
}

然后,只要您的用户发生某些变化并且 Firebase 在后台处理 token ,Firebase 就会在您的应用程序启动前后自动调用监听器,即您不必处理过期的 token 。 (如果使用 Custom Auth System 可能会更复杂)。

关于ios - 需要 Firebase 重新验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com