2017-07-31 249 views
0

我想從使用keycloak管理客戶端API的領域刪除用戶。Keycloak刪除用戶給我一個401未授權的錯誤

我下面從這裏一個例子: https://gist.github.com/thomasdarimont/43689aefb37540624e35

這裏是我的代碼如下所示:

Keycloak kc = KeycloakBuilder.builder().serverUrl("https://localhost:8445/auth") 
     .realm("sensorcloud-auth").username("admin").password("admin").clientId("admin-cli") 
     .clientSecret("b6b4f0ec-9936-46a2-9f40-69c207e2e0f2") 
     .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build(); 
kc.realm("sensorcloud-auth").users().get("a3fdac49-f7eb-4be7-a81f-b48b09a6694c").remove(); 

我可以登錄使用用戶名admin和密碼admin,以keycloak管理控制檯,我很確定沒有其他參數錯別字,但每次當我嘗試刪除該userId的用戶,我將被給予401未經授權的錯誤。有人能幫我弄清楚發生了什麼事嗎?

回答

0

不知道您使用的是哪個版本的keycloak管理客戶端API,使用當前的API沒有刪除操作。

它應該是kc.realm(realmName).users().delete(id)。您可以檢查REST API刪除用戶

+0

嗨,我是用戶keycloak 3.1。我嘗試過使用kc.realm(realmName).users()。delete(id),但它仍然給我401未經授權的錯誤。我的猜測是該kc變量的初始化有問題,wildfly不會將我識別爲管理員用戶。但我不知道如何解決這個問題。 – LebroNan

+0

您是否嘗試過使用「master」領域,您可以從keycloak服務器日誌獲得更多信息 – ravthiru

+0

我沒有嘗試過,但我不認爲這是問題所在。我沒有爲我的應用程序使用主域,我爲我的應用程序創建了這個sensorcloud-auth域。 – LebroNan