Ich habe eine iOS-App, die Firebase als Backend für die Authentifizierung verwendet.Erneutes Verwenden von Zugriffstoken in Firebase 3
Sobald sich ein Benutzer anmeldet und die App schließt, möchte ich nicht, dass der Benutzer seine E-Mail-Adresse und sein Passwort erneut eingeben muss. Mein Ansatz besteht darin, das Zugriffstoken nach einer erfolgreichen Anmeldung im Schlüsselbund zu speichern und dann, wenn der Benutzer zur App zurückkehrt, das Token aus dem Schlüsselbund zu verwenden, um sich anzumelden.
Ich habe versucht, mit der Methode FIRAuth.auth()?.signInWithCustomToken(customToken) { (user, error) in
, aber das ist nicht ganz richtig, wie das für die Verwendung benutzerdefinierter Tokens ist, was ist nicht, was ich tue.
Gibt es eine Möglichkeit für mich, dies zu tun?
// login with email/password
FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (firebaseUser, error) in
if error == nil {
FIRAuth.auth()!.currentUser!.getTokenWithCompletion({ (token, error) in
if error == nil {
// save token to keychain
} else {
print(error)
}
})
} else {
print(error)
}
})
// user comes back to app
do {
// get saved token from keychain
if let myToken = try keychain.get("token") {
FIRAuth.auth()?.signInWithCustomToken(myToken, completion: { (user: FIRUser?, error: NSError?) in
if error == nil {
// show post login screen
} else {
}
})
}
} catch {
// error getting token from keychain
}
}