1

我的應用使用Firebase通過電話號碼驗證用戶,從Digits遷移。 我將Firebase中的idToken添加到我的通話中。 我在httpclient上監聽一個攔截器,如果是401,我會退出。捕獲401並刷新Firebase Id令牌

我注意到一小時後401進來了,所以我在我的App類中添加了一個addIdTokenListener。當它更改時,我更新我的令牌以簽署我的呼叫。 它的工作,但並非無懈可擊,有時401被拋出,我仍然登錄的用戶了...

我寫在我的攔截,從用戶那裏得到的IdToken的東西,但電話firebaseUser.getIdToken()是異步的。所以我開始讓事情變得複雜。

任何人都可以指向正確的方向嗎?你的工作流程是什麼?

回答

2

你正朝着正確的方向前進。您可能想要做的一件事是基於ID令牌驗證失敗的原因稍微改變您的邏輯。您可以自己unpack the ID token data並檢查到期字段。如果令牌已過期,請在再次嘗試呼叫之前返回觸發檢索過程的其他代碼。