diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java index 935863f971..3bdfd6f76d 100644 --- a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java +++ b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java @@ -519,13 +519,15 @@ public class JpaUserSessionPersisterProvider implements UserSessionPersisterProv model.setClientId(clientId); model.setUserSessionId(userSession.getId()); - UserModel user = userSession.getUser(); - if (user != null) { - model.setUserId(user.getId()); - } - else if (userSession instanceof PersistentUserSessionAdapter) { + if (userSession instanceof PersistentUserSessionAdapter) { model.setUserId(((PersistentUserSessionAdapter) userSession).getUserId()); } + else { + UserModel user = userSession.getUser(); + if (user != null) { + model.setUserId(user.getId()); + } + } model.setTimestamp(entity.getTimestamp()); model.setData(entity.getData()); return new PersistentAuthenticatedClientSessionAdapter(session, model, realm, client, userSession);