簡體   English   中英

具有 JWT 身份驗證 refresh_token 的系統如何進行水平擴展

[英]How a system with JWT authentication refresh_token do horizontal scale out

我正在嘗試使用 JWT 對我的網絡應用程序進行身份驗證。

我選擇它是因為 JWT 有利於擴展(水平)系統,因為我們不需要在服務器中存儲任何東西(例如會話數據)。

我還想使用“保持登錄”選項制作我的登錄表單。 然后我找到了神奇的refresh_token 解決方案

這是一個很好的解決方案。

但是,我關心它如何實現橫向擴展的目的? 因為,AFAIK,我們必須將有關 refresh_token 的數據存儲在數據庫或類似的東西中。

Ps:如果上面的解釋是錯誤的,請幫助糾正我,我是分配系統的新手。 謝謝

刷新令牌由客戶端持有,不需要服務器端存儲(除非您正在考慮一些“奇怪”的使用場景)。 所以沒有水平擴展問題。 在服務器上,您只保留 client_id 和 secret(這是 env var 或類似的,因此不是水平可擴展性的障礙)。

有一個類似的討論: 如何安全地讓我的用戶使用刷新令牌登錄?

在評論中編輯適當的討論 服務器始終驗證訪問令牌(如果它沒有過期、簽名是否有效、是否列入白名單的頒發者、是否包含所需的范圍等)。 刷新令牌用於在舊令牌過期時請求新的訪問令牌,這是其唯一目的。

是的,服務器需要一些數據進行驗證,但它是由 OAuth2 服務提供商通過 .well-known 端點或類似端點提供的。 因此,服務器需要能夠與服務提供者通信才能獲取驗證所需的信息。

那些 .well-known 端點通常是公開的,例如:

暫無
暫無

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

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