2016-03-29 128 views
1

我們正試圖找出IPC認證和授權的最佳實踐。我會解釋。 我們有一個基於微服務的體系結構SaaS,具有專用的身份驗證服務。該服務負責認證和管理認證令牌(JWT)。微服務 - IPC認證/授權

對於登錄並開始消耗來自不同服務的資源的用戶而言,一切正常。

現在的問題是如何驗證和授權由其他服務啓動的請求(沒有特定用戶的上下文)?

  1. 我們應該生成每個服務專用的用戶,並把它當作 系統中的任何其它用戶(具有相應權限)?
  2. 應該 我們在服務之間部署了一個「硬編碼」/動態令牌嗎?
  3. 有沒有其他想法?

我們最擔心的是這樣的令牌/密碼在某些時候會被破壞,因爲從一個服務到另一個服務的請求會被高級權限處理。

乾杯,

回答

0

我不是一個微服務專家,剛開始讓我的腳在微服務世界溼。從我讀過的東西到現在,這可以通過很多方式處理,其中之一就是您提到的硬編碼API密鑰,以便服務可以相互識別。但我從來沒有喜歡這個想法親自 - 也使用每個服務的用戶像你提到的。 I的溶液真的很喜歡使用的oauth2處理這些場景 - 一個有趣的實現,我發現是GLUU服務器,我想客戶端證書的授予類型是你在找什麼 - 是指https://gluu.org/docs/integrate/oauth2grants/

玩得開心:)

0

通常,API網關是任何MS系統的組成部分。 所有封裝的服務都應該在沒有API網關的情況下訪問。

這樣的封裝允許服務之間的直接通信,而不提供請求者有效負載,如果請求直接來自API網關,則這應該是必需的。

在這種情況下,請求被視爲不同的東西,並遵循不同的邏輯/中間件管道。不需要額外的特殊用戶。