簡體   English   中英

如何使用JWT構建微服務中的身份驗證/授權?

[英]How to architect authenticate/authorise in microservice using JWT?

如何進行無狀態體系結構設計,以便如果用戶(A)登錄並且Server( X1 )生成Json Web令牌並將其返回給用戶A。 然后,用戶A再次將該請求發送到服務器,並且該目的由Server( X2 )服務,而無需使用戶重新進行身份驗證。 因此,該架構可在水平方向上高度擴展。

通常,您將擁有可以完成與身份驗證相關的所有工作的服務。 基本上,這意味着X1和X2將調用該服務來對用戶進行身份驗證或驗證現有身份驗證。 在X1和X2上唯一要做的就是令牌的驗證。 令牌可以是有效的,有效的,過期的或無效的。 如果它是有效的,則不管特定的服務器如何,您都只需執行必要的工作。 如果無效,則拒絕請求,如果過期,則將用戶重定向到重新認證。

但是,如果您要詢問特定於環境的特定細節,而您的問題是X2沒有X1擁有的某些特定加密密鑰或類似的東西,那么您就忘了提到要使用什么框架來獲取JWT。

使其生效的要求很少:

  1. 如上所述,X1和X2將使用內部服務A進行憑據驗證。

  2. 在用戶/ api客戶端記錄中將有鹽綁定到A的數據源。

  3. X1和X2加密密鑰應該共享,並且它們應該使用JWT sub對象的相同結構。 還應檢查iss對象(通常綁定到請求身份驗證的用戶所綁定的api客戶端)。 驗證邏輯應在X1和X2之間共享。

令牌中有偽造的數據-如果令牌是由相同的服務A提供的,則經過散列,結構化,然后由X1和X2以相同的方式進行檢查。

暫無
暫無

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

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