2016-12-15 64 views
0

嘗試用下面的代碼創建新的用戶:Keycloak創建新的用戶無法

Keycloak kc = Keycloak.getInstance(
"http://192.168.11.55:8080/auth", 
"master", // the realm to log in to 
"admin", "pass", // the user 
"security-admin-console"); 

CredentialRepresentation credential = new CredentialRepresentation(); 
credential.setType(CredentialRepresentation.PASSWORD); 
credential.setValue("test123"); 
UserRepresentation user = new UserRepresentation(); 
user.setUsername("testuser"); 
user.setFirstName("Test"); 
user.setLastName("User"); 
user.setCredentials(Arrays.asList(credential)); 
kc.realm("master").users().create(user); 

它返回一個HTTP 400錯誤的請求。 Keycloak日誌說:

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "origin" (class  org.keycloak.representations.idm.UserRepresentation), not marked as ignorable (22 known properties: "federatedIdentities", "enabled",  "lastName", "emailVerified", "clientConsents", "self", "socialLinks", "applicationRoles", "createdTimestamp", "groups", "username",  "attributes", "id", "firstName", "email", "federationLink", "serviceAccountClientId", "requiredActions", "realmRoles", "clientRoles",  "totp", "credentials"]) 
at [Source: [email protected]; line: 1, column: 37] (through reference chain:  org.keycloak.representations.idm.UserRepresentation["origin"])  

我使用Keycloak 2.3.0.Final和Keycloak管理REST客戶端2.4.0.Final API。

+0

您的配置中是否有聯邦SPI?看來這是錯誤的地方。 –

回答

1

您的KeyCloak服務器和Keycloak管理REST客戶端應該是相同的版本。一些字段可以在2.4.0.Final版本中新添加。

相關問題