是否有可能caching身份validation令牌加速与iOS的Firebaselogin?

我正在使用iOS中的FirebaseSimpleLogin和电子邮件/密码身份validation向Firebase进行身份validation。 看来,使[authClient loginWithEmail:username andPassword:password withCompletionBlock:^(NSError *error, FAUser *user) { ... }]; 大约需要5-8秒钟才能完成。

有没有办法加快login速度,比如从FAUsercachingauthToken ,并直接在第一次Firebase调用中使用?

更新:

看来,成功loginNSUserDefaults后存储authToken

 [[NSUserDefaults standardUserDefaults] setValue:user.authToken forKey:USERDEFAULTS_LOGIN_TOKEN]; [[NSUserDefaults standardUserDefaults] synchronize]; 

…然后在下次login尝试时使用存储的authToken进行authWithCredential:调用:

 NSString *authToken = [[NSUserDefaults standardUserDefaults] stringForKey:USERDEFAULTS_LOGIN_TOKEN]; if (authToken) { NSLog(@"Firebase logging in with token..."); [[Mesh root] authWithCredential:authToken withCompletionBlock:^(NSError *error, id data) { ... 

…没有更快。 有没有另一种方法来加快login?

随着Firebase iOS / OS-X客户端v1.2.0的发布,Firebasecaching了本地客户端身份validation状态,并极大地优化了重新身份validation的速度。 以前的客户端版本在客户端进入“authentication”状态之前需要多个服务器往返,但是如果有效的,持久的会话已经位于磁盘上,则立即执行此操作。

另请注意, Firebase简单login已被弃用,取而代之的是在核心Firebase客户端库中启用的Firebase身份validation重新实现。 请查阅https://www.firebase.com/docs/ios/guide/user-auth.html以获取有关如何在iOS上开始使用的指南。