[Bug] Using deprecated 'credentials' format in JSON representation for user

We have noticed a lot of errors on our Keycloak instance:

08:18:51,475 WARN [org.keycloak.models.utils.RepresentationToModel] (default task-85) Using deprecated 'credentials' format in JSON representation for user '485762427@qq.com'. It will be removed in future versions
08:18:51,476 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-85) Uncaught server error: java.lang.NullPointerException
at org.keycloak.keycloak-server-spi-private@13.0.1//org.keycloak.models.utils.RepresentationToModel.convertDeprecatedCredentialsFormat(RepresentationToModel.java:972)
at org.keycloak.keycloak-server-spi-private@13.0.1//org.keycloak.models.utils.RepresentationToModel.createCredentials(RepresentationToModel.java:1873)
at org.keycloak.keycloak-services@13.0.1//org.keycloak.services.resources.admin.UsersResource.createUser(UsersResource.java:161)
at jdk.internal.reflect.GeneratedMethodAccessor950.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:138)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:546)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:435)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$0(ResourceMethodInvoker.java:396)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:398)

We are trying to save a user:

{
// ...
credentials: [{ type: 'password', value: 'mypassword', temporary: false }]
}

We are using this image and version of keycloak:

bitnami/keycloak:13.0.1
1 Like

Related: Adding Custom Credential Type