我有一個面向 React 本機應用程式的客戶端。我正在使用 JWT 進行身份驗證,其中包含快速過期的訪問令牌 (10m) 和持久重繪 令牌 (7d)。
我有兩臺服務器,一臺用于身份驗證,一臺用于獲取其他東西。
例如:server.com/auth,server.com/activities
我的問題是,如何在這里有一個好的重繪 機制?
例如:如果用戶在 2 天后登錄并通過我的應用程式查詢 API,我應該如何向他發送新的訪問令牌(使用他的重繪 令牌) - 請記住我的身份驗證服務器位于不同的位置?
顯而易見的解決方案我在這里看到的是接觸/auth從/activities,得到了新的令牌,并在回應的頭發送新的令牌,而在新的令牌頭如果存在為他們節省了客戶端繼續檢查和。
有比這更好的解決方案嗎?這甚至是一個很好的解決方案嗎?
uj5u.com熱心網友回復:
一個可能更好的選擇是考慮使用前端后端(又名 BFF)模式來保護 SPA 應用程式。
看
- 使用 Auth0 和 ASP.NET Core 的前端身份驗證模式的后端
- BFF 模式(前端后端):簡介
- 使用 BFF 模式保護 SPA(一勞永逸)
uj5u.com熱心網友回復:
我會做什么,據我所知,如果訪問令牌過期,大多數人所做的就是讓您的 API(/活動)以 403 回應。前端應該捕獲這些回應,然后根據您擁有的重繪 令牌向授權服務器請求新的訪問令牌。AS 將使用新的訪問令牌進行回應,前端現在可以使用該令牌發送到 API。通常這種交換會自動發生,前端最終會用新的訪問令牌重試呼叫 API。
如果重繪 令牌恰好過期,那么授權服務器將回應 403,這是一個信號給前端應用程式,它應該要求用戶再次登錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/369545.html
上一篇:自定義授權過濾器在運行時出現例外
下一篇:使用路徑變數反應管理員資源名稱
