簡體   English   中英

我可以使用 Firebase 令牌 (JWT) 來識別過期日期 > 1 小時的用戶嗎?

[英]Can i use a Firebase token (JWT) to identify a user with an expire date > than 1 hour?

我正在使用Cloud Firestore for Firebase來存儲有關用 NodeJs 編寫的 Rest API 服務的信息。

因此,對 Node 的每個請求都會向 Firebase 詢問有關服務的信息,首先,它將授權請求。

我認為使用用戶生成的 JWT 將是最好的解決方案,因為客戶端必須在他的請求中簡單地包含 JWT 來授權自己。

Firebase JWT與生成它的用戶的 uid 相關。 顯然,會有一個控制面板,用戶可以在其中使用電子郵件/密碼登錄並生成 JWT,然后 JWT 將包含在他的客戶端系統中,例如需要 ZDB974238714CA38DE634A7CE148 用戶的簡單 API和工作。

所以,這個想法似乎很有效,但我注意到 Firebase JWT僅在 1 小時內到期! 用戶必須每隔一小時登錄一次控制面板才能重新生成 JWT。 那不是那么友好。

怎樣才能避免這個問題? 我怎樣才能讓 JWT 在 1 小時內過期?

根據文件

令牌的最長生命周期為 24 小時 + skew。

[...]

傾斜長達 10 分鍾。

這意味着你不能永遠使用這些令牌,這是有道理的。

我查看了自定義令牌並發現:

自 UNIX 時期以來,令牌過期的時間(以秒為單位)。 最多可以比 iat 晚 3600 秒。 注意:這僅控制自定義令牌本身到期的時間。 但是,一旦您使用 signInWithCustomToken() 讓用戶登錄,他們將保持登錄到設備,直到他們的 session 失效或用戶退出。

也許您可以使用signInWithCustomToken()做一些事情,因為一旦登錄它只會在用戶無效或注銷時過期,但我相信最好的做法是尋找另一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM