Firebaseを認証のバックエンドとして使用するiOSアプリケーションがあります。Firebase 3でのacccessトークンの再利用
ユーザーがログインしてアプリを閉じると、ユーザーはメールとパスワードを再入力する必要はありません。私のアプローチは、キーチェーンへのログインが成功した後にアクセストークンを保存し、ユーザーがアプリに戻ったときに、キーチェーンのトークンを使ってサインインすることです。
私は方法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
}
}