0

Trying to setup a keycloak admin client in spring boot 3 to manage Keycloak users, clients, roles and realms. Most guides that are available are for version 18.0.0 and bellow but I am using version 21.1.1 because of compatibility with spring security version used in the base project.

When I hit the keycloak admin APIs i.e try to create, retrieve users, I am getting HTTP 404 not found

javax.ws.rs.NotFoundException: HTTP 404 Not Found
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.handleErrorStatus(ClientInvocation.java:270) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.extractResult(ClientInvocation.java:240) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.extractors.BodyEntityExtractor.extractEntity(BodyEntityExtractor.java:64) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeSync(ClientInvoker.java:154) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:115) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at jdk.proxy2/jdk.proxy2.$Proxy122.grantToken(Unknown Source) ~[na:na]
    at org.keycloak.admin.client.token.TokenManager.grantToken(TokenManager.java:99) ~[keycloak-admin-client-21.1.1.jar:21.1.1]
    at org.keycloak.admin.client.token.TokenManager.getAccessToken(TokenManager.java:75) ~[keycloak-admin-client-21.1.1.jar:21.1.1]
    at org.keycloak.admin.client.token.TokenManager.getAccessTokenString(TokenManager.java:70) ~[keycloak-admin-client-21.1.1.jar:21.1.1]
    at org.keycloak.admin.client.resource.BearerAuthFilter.filter(BearerAuthFilter.java:52) ~[keycloak-admin-client-21.1.1.jar:21.1.1]
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.filterRequest(ClientInvocation.java:767) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:491) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeSync(ClientInvoker.java:152) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:115) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) ~[resteasy-client-4.7.7.Final.jar:4.7.7.Final]
    at jdk.proxy4/jdk.proxy4.$Proxy149.list(Unknown Source) ~[na:na]
    at com.avf.customerservice.infrastructure.iam.impl.v1.KeycloakServiceImpl.getCustomers(KeycloakServiceImpl.kt:39) ~[main/:na]

A few things worth noting, when debugging the keycloak configuration that was used, I view that the authToken is null as seen below enter image description here

Keycloak setup - using the admin account I have admin user given all the roles including the admin role Keycloak admin user with roles

Keycloak setup - using a client Optionally, I have a client with service roles provided and admin is included Keycloak client service with

Keycloak Spring boot config using admin account Keycloak springboot configuration

Keycloak spring boot config using client service Keycloak springboot config using client service

Keycloak Service functionalities Keycloak service admin actions

Upto this point, with a rest endpoint to get users and create them, I would expect a success but I end up with 404 having the mentioned stack trace enter image description here

What is it that could be missing?

0 Answers0