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

好久不见. 提交于 2020-01-06 02:23:27

问题


I'm authenticating to Firebase with FirebaseSimpleLogin and Email/Password authentication in iOS. It seems that making the [authClient loginWithEmail:username andPassword:password withCompletionBlock:^(NSError *error, FAUser *user) { ... }]; takes roughly 5-8 seconds to complete.

Is there a way to speed up the login, like caching the authToken from FAUser, and using starting to use that directly in the first Firebase call?

Update:

It seems that storing the authToken after a successful login to NSUserDefaults:

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

... and then doing an authWithCredential: call with the stored authToken on next login attempt:

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

... isn't any faster. Is there another way to speed up the login?


回答1:


With the release of the Firebase iOS / OS-X Client v1.2.0, Firebase caches the local client authentication state and greatly optimizes the speed of re-authentication. Previous client versions required multiple server roundtrips before the client would enter an "authenticated" state, but this is now immediate if a valid, persisted session has been located on-disk.

Also note that Firebase Simple Login has been deprecated and replaced with a reimplementation of Firebase authentication that is enabled in the core Firebase client libraries. Check out https://www.firebase.com/docs/ios/guide/user-auth.html for the guides on how to get started with it on iOS.



来源:https://stackoverflow.com/questions/22463408/is-it-possible-to-cache-the-auth-token-to-speed-up-login-in-firebase-with-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!