尝试使用以下代码创建新用户:
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: io.undertow.servlet.spec.ServletInputStreamImpl@250fdbe0; line: 1, column: 37] (through reference chain: org.keycloak.representations.idm.UserRepresentation["origin"])
它返回HTTP 400错误请求。 Keycloak日志说:
{{1}}
我正在使用Keycloak 2.3.0.Final和Keycloak Admin REST Client 2.4.0.Final API。
答案 0 :(得分:1)
您的KeyCloak服务器和Keycloak Admin REST客户端应具有相同的版本。某些字段可能在2.4.0.Final版本中新添加。
答案 1 :(得分:0)
值得一提的是,在某些旧版本的Keycloak中,既不能创建新用户,又不能在相同的kc.realm("master").users().create(user);
调用中设置凭据。
可以通过以下方法解决此问题:首先创建用户而不呼叫setCredentials
,然后将其设置为另一个呼叫。