![](/img/trans.png)
[英]How can i expire my JWT token, when user is idle for sometime(Token based authorization) in nodeJS/Express and Angular
[英]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.