問題微服務架構
問題怎麼可能創造一個微服務應用程序內的認證服務,並有其他服務覈對該令牌(JWT)和檢索用戶中智威湯遜認證?
可能的解決方案
我現在的想法是根據各地的權威性服務將{ token, user }
成的Redis一旦用戶通過驗證。所有其他服務都可以在Redis中檢查用戶的Authorization: Bearer kdI8$dj$nD&...
標頭令牌。
- 如果
token
存在於Redis的,用戶被認證。 - 如果在Redis中不存在
token
,則用戶未通過身份驗證。
- 用戶發送
{ username, password }
要權威性服務 - 驗證服務認證憑證,並檢索
{ token, user }
- 驗證服務插入
{ token, user }
成Redis的 - 用戶使得請求
Service-1
與{ token }
在Redis的3210個
Service-1
loooks爲{ token }
和檢索{ token, user }
Service-1
就執行併發送回{ data }
是否有任何可能的安全,邏輯或建築問題,這種做法?
你不明確你的用戶在哪裏與服務有關,以及服務在哪裏與Redis的關係?特別是,我想知道你怎麼知道它在Redis中的檢查之間是同一個用戶。 (即不是用戶的jwt點,以證明他是誰) – akc42
我已經清理了該圖並添加了一些流程步驟:-) – AndrewMcLagan