2016-05-05 101 views
2

我們正在考慮使用keycloak作爲我們的SSO框架。SSO與keycloak

  1. 根據多租戶的keycloak文件支持的應用程序服務器應該持有的所有keycloak.json認證文件,以獲得這些文件的方式是從keycloak管理,有沒有辦法讓他們動態通過API?或者至少得到領域公鑰?我們希望避免爲每個領域手動添加此文件到應用程序服務器(以避免停機等)。

  2. 另一個多租戶相關問題 - 根據文檔,應該爲每個領域創建相同的客戶端,所以如果我有100個領域和10個客戶端,我應該定義相同的10個客戶端100次?有沒有其他選擇?

  3. 我們的流程之一是後端微服務,應該根據應用程序進行身份驗證(定義爲keycloak客戶端),我們希望避免爲了安全原因保持用戶/ psw在服務器上,是否有方法admin可以獲取令牌並將其手動放置在該微服務的服務器文件系統上?有沒有在keycloak UI中生成這個令牌的選項?

在此先感謝。

回答

2
  1. 所有Keycloak功能都可以通過admin REST API獲得,因此您可以自動執行此操作。領域的公鑰可通過http://localhost:8080/auth/realms/{realm}/

  2. 每個租戶的領域將給出特定於租戶的登錄頁面。因此,這是要走的路 - 10個客戶註冊100次。請參閱Keycloak文檔的章節Client Registration。如果你不需要特定的主題,你可以選擇把所有東西放在一個領域,但是在這條路上你會失去很多靈活性。

  3. 如果您的後端微服務應該顯示爲一個(技術)用戶,您可以發出一個不會過期的脫機令牌。 This is the online documentation for offline tokens。目前,管理員沒有管理功能來爲用戶檢索離線標記。你需要自己構建它。管理員稍後可以使用給定的管理API撤消脫機令牌。