我們正在研究一款使用Google對Firebase進行驗證的iOS應用。根據https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase表示,認證令牌每24小時到期。 我們想知道,如果存在以下情況是我們需要考慮的東西:需要進行Firebase重新驗證
- 用戶與谷歌和火力地堡
- 我們的應用程序得到了火力地堡身份驗證令牌在24小時內到期
- 用戶關閉我們的iOS應用驗證
- 在Firebase身份驗證令牌到期前1分鐘,用戶重新打開應用程序
- 一分鐘後,我們向Firebase發出請求。身份驗證令牌已過期。
看來我們必須通過觀察身份驗證更改https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication與Firebase重新進行身份驗證。但是,我們是否必須重新向上述#5向Firebase發出同樣的請求? 也似乎我們可以在cancelBlock重新驗證:
[ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
} withCancelBlock:^(NSError *error) {
NSLog(@"%@", error.description);
// reauthenticate and then re-issue request?
}];
這不是很理想,因爲我們將不得不處處,我們提出一個要求編寫代碼。
處理這種情況的最佳做法是什麼? 當驗證令牌接近過期時,Firebase是否自動刷新?
注:默認爲24小時,但你可以在會話時長 – sjm
這是正確的登錄和身份驗證選項卡下進行更改。然而,無論間隔時間如何,問題在於是否有時間點谷歌oauth令牌有效,但firebase令牌到期。我們對30秒的Firebase超時進行的實驗似乎表明我們必須手動刷新Firebase身份驗證令牌 – vjy
您必須手動刷新身份驗證令牌。您可以監視[.info/authenticated](https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication)以檢測更改狀態 - 比取消更好的答案回電話。 – Kato