繁体   English   中英

是否可以缓存身份验证令牌以加快使用iOS的Firebase登录?

[英]Is it possible to cache the auth token to speed up login in Firebase with iOS?

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

有没有办法加快登录速度,比如从FAUser缓存authToken ,并在第一次Firebase调用中直接使用它?

更新:

似乎在成功登录NSUserDefaults后存储authToken

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

...然后执行authWithCredential:在下次登录尝试时使用存储的authToken进行调用:

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) { ...

......不是更快。 有没有其他方法可以加快登录速度?

随着Firebase iOS / OS-X Client v1.2.0的发布,Firebase缓存了本地客户端身份验证状态,并极大地优化了重新身份验证的速度。 以前的客户端版本在客户端进入“已验证”状态之前需要多次服务器往返,但如果有效的持久会话位于磁盘上,则现在立即生效。

另请注意, Firebase Simple Login已被弃用,并替换为在核心Firebase客户端库中启用的Firebase身份验证的重新实现。 请访问https://www.firebase.com/docs/ios/guide/user-auth.html ,查看有关如何在iOS上开始使用它的指南。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM