ios – 需要Firebase重新认证

前端之家收集整理的这篇文章主要介绍了ios – 需要Firebase重新认证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在使用一个iOS应用程序,它正在使用Google来验证Firebase.根据 https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase说,验证令牌每24小时到期.
我们想知道以下情况是否需要考虑:

>用户使用Google和Firebase进行身份验证
>我们的应用程序获得一个Firebase认证令牌,在24小时内到期
>用户关闭我们的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会自动刷新认证令牌吗?

解决方法

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

所以你应该直接打电话
FIRApp.configure()一如往常.在您的应用程序中:didFinishLaunchingWithOptions launchOptions:然后在启动应用程序时添加状态监听器,如

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

随着Firebase的应用程序启动时,侦听器将自动调用,只要有关用户的更改,令牌在后台由Firebase处理,即您不必处理过期的令牌. (如果您使用Custom Auth System可能会更复杂).

原文链接:https://www.f2er.com/iOS/335185.html

猜你在找的iOS相关文章