簡體   English   中英

前端客戶端的用戶對象

[英]User object on client side in front-end

我正在使用Express.js框架在Node.js開發后端 API,並使用Passport.js實現 JWT 身份驗證。

用戶注冊,使用他們的用戶名和密碼登錄並接收在后端生成的 json Web 令牌,然后用於驗證進一步的請求。

我想要實現的是在用戶登錄時始終在前端顯​​示一條當前用戶信息。該信息會根據用戶甚至其他用戶與 API 的交互而頻繁更改。

這有什么常用的技術? 我應該在來自 API 的每個響應中發送一個用戶對象,還是應該將它作為 JWT 中的有效負載發送一次,將其存儲在客戶端並根據需要使用對某些用戶 API 端點的單獨請求進行更新?

實際上,JWT 負載甚至可以用於存儲諸如用戶對象之類的東西,它是為此而設計的嗎? 我覺得在 JWT 負載中存儲一些重要信息而不是一些用戶標識符是一個壞主意。

JWT 在到期之前一直有效。 在令牌中包含頻繁更改的數據意味着 JWT 可能無效,但無論如何您的服務器都會接受它。 如果您不想處理黑名單,請仔細考慮您將包含哪些數據並以動態方式請求其他數據。

但是,如果不將任何用戶數據包含在令牌中,您就無法利用 JWT 的優勢之一:服務器不需要在每個請求中查詢數據庫,因為您可以信任 JWT 中包含的數據。

例如,您可以包含fullnamedateofbirth並考慮包含不經常更改的roles

暫無
暫無

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

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