2016-12-01 7 views
0

私のアプリケーションの流れ:ノード認証に使用されているiOSから生成されたFirebaseの1時間トークンの有効期限を処理する

iOSからFirebaseにログインします。キーチェーンにfirebaseトークンや店舗を取得 -

FIRAuth.auth()?.currentUser?.getTokenWithCompletion({ (token, err) in 
    //store token in keychain 
}) 

このトークンは要求を認証するために、私のノードのサーバーにヘッダーで送信されます -

firebase.auth().verifyIdToken(firebaseAccessToken).then(function(decodedToken) { 
    //allow access to api 
} 

トークン、その後時間後に期限が切れます。私の質問は私がこれをどのように扱うべきかです。

  • ストアトークンは、クライアント上で検索し、必要な場合は、すべてのAPI呼び出し
  • は、その後に別のトークンサーバサイドの作成、認証するためにトークンを使用するためのトークンを更新
  • リフレッシュを強制された時刻有効期限を延長し、これを認証トークンとして保存する

ここに別のオプションがありますか?

答えて

1

トークンをキーチェーンに手動で格納することは、Firebase SDKによって提供される動作に効果的に対戦し、誤って再実装することになります。あなたは最初にそれをするべきではありません。

次に、2番目のオプションは最も洗練されたものです。バックエンドサービスを呼び出す前に毎回getTokenWithCompletionと呼び出してください。トークンが期限切れになった場合にのみトークンをリフレッシュするので、安価なコールです。

関連する問題