-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Closed
Labels
area/admin/uikind/bugCategorizes a PR related to a bugCategorizes a PR related to a bugpriority/importantMust be worked on very soonMust be worked on very soonrelease/25.0.1release/26.0.0team/core-clients
Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
admin/ui
Describe the bug
When running admin-ui in development (http://localhost:8080), a page refresh in a new realm triggers the following error in Keycloak server:
2024-04-12 00:06:55,297 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-37) Uncaught server error: java.lang.RuntimeException: Error while reading attributes from security token.
at org.keycloak.authorization.common.KeycloakIdentity.<init>(KeycloakIdentity.java:255)
at org.keycloak.services.resources.admin.permissions.MgmtPermissions.initIdentity(MgmtPermissions.java:105)
at org.keycloak.services.resources.admin.permissions.MgmtPermissions.<init>(MgmtPermissions.java:96)
at org.keycloak.services.resources.admin.permissions.AdminPermissions.realms(AdminPermissions.java:46)
at org.keycloak.admin.ui.rest.UIRealmsResource.lambda$getRealms$0(UIRealmsResource.java:57)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:292)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:298)
at java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
at org.keycloak.utils.ClosingStream$ClosingIterator.hasNext(ClosingStream.java:293)
at org.keycloak.utils.StreamsUtil.throwIfEmpty(StreamsUtil.java:55)
at org.keycloak.admin.ui.rest.UIRealmsResource.getRealms(UIRealmsResource.java:66)
at org.keycloak.admin.ui.rest.UIRealmsResource$quarkusrestinvoker$getRealms_ead7451714695748ac20e4aeece328e85603cece.invoke(Unknown Source)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException: Cannot invoke "org.keycloak.models.UserSessionModel.getUser()" because "userSession" is null
at org.keycloak.authorization.common.KeycloakIdentity.getUserFromToken(KeycloakIdentity.java:304)
at org.keycloak.authorization.common.KeycloakIdentity.<init>(KeycloakIdentity.java:242)
... 29 more
2024-04-12 00:06:55,298 WARN [io.agroal.pool] (executor-thread-37) Datasource '<default>': JDBC resources leaked: 1 ResultSet(s) and 1 Statement(s)
Version
latest/24.0.2
Regression
- The issue is a regression
Expected behavior
Should be able to refresh the page in local development mode when in a new realm without errors
Actual behavior
An exception is thrown in Keycloak server and UI shows an error stating Network Response was not ok
The failing API in network console
How to Reproduce?
- In
quarkusdirectory, start Keycloak server on port 8180.
../mvnw -f server/pom.xml compile quarkus:dev -Dquarkus.args="start-dev --http-port=8180"
- Create admin credentials, login Keycloak, and import client using
security-admin-console-v2.json - In
js/apps/admin-ui, start localadmin-uiserver at port 8080.
pnpm dev
- Open http://localhost:8080, create new realm.
- When in the new realm, refresh page.
Anything else?
Several other test cases in realm_spec.test.ts are also failing. the error also appears when creating a new realm from a non-master realm.
Metadata
Metadata
Assignees
Labels
area/admin/uikind/bugCategorizes a PR related to a bugCategorizes a PR related to a bugpriority/importantMust be worked on very soonMust be worked on very soonrelease/25.0.1release/26.0.0team/core-clients