![](/img/trans.png)
[英]DELETE user Express side works, but can't make it work on front-end side (using React)
[英]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 中包含的數據。
例如,您可以包含fullname
或dateofbirth
並考慮包含不經常更改的roles
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.