У меня есть приложение iOS, использующее Firebase в качестве бэкэнда для аутентификации.Повторное использование токена доступа в Firebase 3
Как только пользователь входит в систему и закрывает приложение, я не хочу, чтобы пользователь повторно вводил свой адрес электронной почты и пароль. Мой подход заключается в том, чтобы сохранить токен доступа после успешного входа в Keychain, а затем, когда пользователь вернется в приложение, используйте токен из keychain для ввода.
Я пробовал использовать метод FIRAuth.auth()?.signInWithCustomToken(customToken) { (user, error) in
, но это не совсем так, как это делается при использовании пользовательских токенов, что не то, что я делаю.
Есть ли способ для меня сделать это?
// 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
}
}