[英]JWT token forwading between services
我有一個有問題的和一個潛在的解決方案,我想知道它是否是一個好的解決方案,或者是否存在更好的做事方式。
我有一個API A
由帶有 JWT 令牌的前端調用。
如果該服務沒有解決方案,我希望該服務從另一個API B
獲取解決方案。
轉發我從 Front User 收到的 JTW 令牌並以該用戶身份驗證到API B
以請求我的數據(知道 JWT 可能攜帶有用信息)是個好主意嗎?
我是否應該刪除 JWT 並以與此 API 不同的方式進行身份驗證?
這些事情是否有行業標准或良好實踐?
JWT 訪問令牌旨在在 API 之間轉發。 這樣做可以維護可審核的用戶身份。 每個 API 然后驗證 JWT 簽名、發行者、受眾、范圍和聲明。 這有時被稱為zero trust
API 架構 - 但有一些警告。
范圍
根據業務數據領域設計這些。 例如,客戶有范圍orders shipping
並調用訂單 API。訂單 API 然后可以將 JWT 轉發給運輸 API。每個 API 必須檢查它需要的范圍。
相同的信任級別
與往常一樣,您需要考慮威脅。 我的上述建議是針對將 API 拆分為微服務的,通常是出於技術原因,例如較小的代碼大小和多個開發團隊。
不同的信任級別
考慮轉發一個JWT到一個大公司分部的一個Shipping API。 你可能不相信給他們orders
scope。在這種情況下,使用代幣交換獲得一個新代幣,只有shipping
scope,然后將其轉發給上游 API。
概括
始終致力於轉發維護可審核用戶身份的 JWT。 使用范圍作為一種成分來確保最小特權。 還要評估威脅,以防止潛在的攻擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.