From 6ef80e59ef522c5e67c7d668146807eb19fbbfce Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Fri, 24 Dec 2021 17:44:56 +0100 Subject: [PATCH] Changes to align to new API of Keycloak v15.1.1 --- .../org/gcube/keycloak/avatar/AbstractAvatarResource.java | 4 ++-- .../java/org/gcube/keycloak/avatar/AvatarAdminResource.java | 4 ++-- .../keycloak/event/OrchestratorEventPublisherProvider.java | 2 +- .../event/OrchestratorEventPublisherProviderFactory.java | 3 +-- .../mappers/UserAttributeTemplatedLDAPStorageMapper.java | 6 +++--- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AbstractAvatarResource.java b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AbstractAvatarResource.java index 5c065fc..ef5e718 100644 --- a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AbstractAvatarResource.java +++ b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AbstractAvatarResource.java @@ -35,8 +35,8 @@ public abstract class AbstractAvatarResource { private AuthResult authenticate(KeycloakSession session) { logger.debug("Authenticating with bearer token"); - AuthResult auth = new AppAuthManager().authenticateBearerToken(session, session.getContext().getRealm()); - + AuthResult auth = this.auth = new AppAuthManager.BearerTokenAuthenticator(session).authenticate(); + if (auth == null) { logger.debug("Authenticating with identity cookie"); auth = new AppAuthManager().authenticateIdentityCookie(session, session.getContext().getRealm()); diff --git a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AvatarAdminResource.java b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AvatarAdminResource.java index 0a6f8e2..378764a 100644 --- a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AvatarAdminResource.java +++ b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/AvatarAdminResource.java @@ -48,7 +48,7 @@ public class AvatarAdminResource extends AbstractAvatarResource { @Produces({ "image/png", "image/jpeg", "image/gif" }) public Response downloadUserAvatarImage(@PathParam("user_id") String userId) { try { - UserModel user = session.users().getUserById(userId, session.getContext().getRealm()); + UserModel user = session.users().getUserById(session.getContext().getRealm(), userId); return fetchAndCreateResponse(session.getContext().getRealm(), user); } catch (ForbiddenException e) { return Response.status(Response.Status.FORBIDDEN).entity(e.getMessage()).build(); @@ -69,7 +69,7 @@ public class AvatarAdminResource extends AbstractAvatarResource { } RealmModel realm = session.getContext().getRealm(); - UserModel user = session.users().getUserById(userId, session.getContext().getRealm()); + UserModel user = session.users().getUserById(session.getContext().getRealm(), userId); InputStream imageInputStream = input.getFormDataPart(AVATAR_IMAGE_PARAMETER, InputStream.class, null); saveUserImage(realm, user, imageInputStream); diff --git a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java index 395c02d..3b3bef6 100644 --- a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java +++ b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java @@ -48,7 +48,7 @@ public class OrchestratorEventPublisherProvider extends AbstractEventPublisher @Override public void onEvent(Event event) { if (!INTERESTING_EVENTS.contains(event.getType())) { - logger.debug("Skipping publish of not interesting event"); + logger.tracef("Skipping publish of not interesting event: %s", event.getType().toString()); return; } logger.debug("Publishing new event to orchestrator"); diff --git a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProviderFactory.java b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProviderFactory.java index ab4580a..4f0f4e4 100644 --- a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProviderFactory.java +++ b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProviderFactory.java @@ -55,8 +55,7 @@ public class OrchestratorEventPublisherProviderFactory implements EventListenerP try { newOrchestratorEndpoint = new URL(orchestratorClient.getBaseUrl()); } catch (MalformedURLException e) { - logger.errorf("Can't create new orchestrator endpoint address: %s", orchestratorClient.getBaseUrl(), - e); + logger.errorf("Can't create new orchestrator endpoint address: %s", orchestratorClient.getBaseUrl()); oepp = new NoOpEventPublisherProvider(); return oepp; } diff --git a/ldap-storage-mapper/src/main/java/org/gcube/keycloak/storage/ldap/mappers/UserAttributeTemplatedLDAPStorageMapper.java b/ldap-storage-mapper/src/main/java/org/gcube/keycloak/storage/ldap/mappers/UserAttributeTemplatedLDAPStorageMapper.java index 812807a..e4fadab 100644 --- a/ldap-storage-mapper/src/main/java/org/gcube/keycloak/storage/ldap/mappers/UserAttributeTemplatedLDAPStorageMapper.java +++ b/ldap-storage-mapper/src/main/java/org/gcube/keycloak/storage/ldap/mappers/UserAttributeTemplatedLDAPStorageMapper.java @@ -138,7 +138,7 @@ public class UserAttributeTemplatedLDAPStorageMapper extends AbstractLDAPStorage } else { // we don't have java property. Let's set attribute - List attrValues = localUser.getAttribute(userModelAttrName); + List attrValues = localUser.getAttributeStream(userModelAttrName).collect(Collectors.toList()); if (attrValues.size() == 0) { if (isMandatoryInLdap) { @@ -171,7 +171,7 @@ public class UserAttributeTemplatedLDAPStorageMapper extends AbstractLDAPStorage // lowercase before search email = KeycloakModelUtils.toLowerCaseSafe(email); - UserModel that = session.userLocalStorage().getUserByEmail(email, realm); + UserModel that = session.userLocalStorage().getUserByEmail(realm, email); if (that != null && !that.getId().equals(user.getId())) { session.getTransactionManager().setRollbackOnly(); String exceptionMessage = String.format( @@ -191,7 +191,7 @@ public class UserAttributeTemplatedLDAPStorageMapper extends AbstractLDAPStorage } boolean usernameChanged = !username.equals(user.getUsername()); if (realm.isEditUsernameAllowed() && usernameChanged) { - UserModel that = session.users().getUserByUsername(username, realm); + UserModel that = session.users().getUserByUsername(realm, username); if (that != null && !that.getId().equals(user.getId())) { throw new ModelDuplicateException( String.format(