[英]What to do when firebase.auth().currentUser.getIdToken() throws “auth/user-token-expired”?
[英]auth/user-token-expired error in custom firebase authentication
我目前正在使用 Firebase 自定義身份驗證,最近我開始注意到收到一條消息auth/user-token-expired
出現auth/user-token-expired
錯誤
用戶的憑據不再有效。 用戶必須重新登錄。
在客戶端上,無需對用戶帳戶進行任何重大更改。 我能做些什么來找到這個問題的原因以及可能的糾正方法,以便在用戶使用應用程序時不會在某種尷尬的狀態下發生這樣的注銷?
客戶端代碼可以調用User.getIdToken(forceRefresh)
來強制刷新令牌。
getIdToken ( forceRefresh ? : boolean ) : Promise < string >
返回用於向 Firebase 服務標識用戶的 JSON 網絡令牌 (JWT)。
如果未過期,則返回當前令牌。 否則,這將刷新令牌並返回一個新令牌。
參數
- 可選forceRefresh :布爾值
無論令牌是否過期,都強制刷新。
檢索客戶端上的 ID 令牌
當用戶或設備成功登錄時,Firebase 會創建一個相應的 ID 令牌,用於唯一標識他們並授予他們訪問多種資源的權限,例如 Firebase 實時數據庫和 Cloud Storage。 您可以重復使用該 ID 令牌來識別自定義后端服務器上的用戶或設備。 要從客戶端檢索 ID 令牌,請確保用戶已登錄,然后從登錄用戶處獲取 ID 令牌:
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) { // Send token to your backend via HTTPS // ... }).catch(function(error) { // Handle error });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.