Skip to content

Commit

Permalink
22 update (#30)
Browse files Browse the repository at this point in the history
* hail mary of ways to get the realm

* updates for kc22

* updated orgs test version
  • Loading branch information
xgp authored Jul 11, 2023
1 parent fc0c96d commit 66c94d3
Show file tree
Hide file tree
Showing 12 changed files with 80 additions and 60 deletions.
28 changes: 14 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<main.java.package>io.phasetwo.keycloak.events</main.java.package>
<junit.version>4.13.2</junit.version>
<keycloak.version>21.1.1</keycloak.version>
<lombok.version>1.18.22</lombok.version>
<auto-service.version>1.0.1</auto-service.version>
<keycloak.version>22.0.0</keycloak.version>
<lombok.version>1.18.28</lombok.version>
<auto-service.version>1.1.1</auto-service.version>
<ossrh.url>https://s01.oss.sonatype.org</ossrh.url>
<maven.test.skip>true</maven.test.skip>
</properties>
Expand Down Expand Up @@ -179,25 +179,25 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
<version>32.0.0-jre</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>2.2.3</version>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>3.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

Expand Down Expand Up @@ -239,7 +239,7 @@
<dependency> <!-- so we can test webhooks for org methods -->
<groupId>io.phasetwo.keycloak</groupId>
<artifactId>keycloak-orgs</artifactId>
<version>[0.35,)</version>
<version>[0.37,)</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,39 @@
import java.util.Map;
import java.util.stream.Collectors;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;

public interface ConfigurationAware {

String getId();

default List<Map<String, Object>> getConfigurations(KeycloakSession session) {
return RealmAttributesConfigLoader.loadConfigurations(
session, session.getContext().getRealm().getName(), getId())
session, getRealm(session).getName(), getId())
.stream()
.map(config -> RealmAttributesConfigLoader.safeConvertToMap(config))
.collect(Collectors.toList());
}

/** Potential workaround for keycloak/keycloak#20105 */
static RealmModel getRealm(KeycloakSession session) {
if (session.getContext() == null) {
return null;
}
if (session.getContext().getRealm() != null) {
return session.getContext().getRealm();
}
if (session.getContext().getAuthenticationSession() != null
&& session.getContext().getAuthenticationSession().getRealm() != null) {
return session.getContext().getAuthenticationSession().getRealm();
}
if (session.getContext().getClient() != null
&& session.getContext().getClient().getRealm() != null) {
return session.getContext().getClient().getRealm();
}
return null;
}

default Map<String, Object> getConfiguration(KeycloakSession session) {
List<Map<String, Object>> configs = getConfigurations(session);
if (configs == null || configs.size() == 0) return ImmutableMap.of();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package io.phasetwo.keycloak.config;

import com.fasterxml.jackson.core.type.TypeReference;
import jakarta.persistence.EntityManager;
import jakarta.persistence.TypedQuery;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.connections.jpa.JpaConnectionProvider;
import org.keycloak.models.KeycloakSession;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import io.phasetwo.keycloak.model.WebhookModel;
import io.phasetwo.keycloak.model.WebhookProvider;
import io.phasetwo.keycloak.model.jpa.entity.WebhookEntity;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Query;
import jakarta.persistence.TypedQuery;
import java.util.stream.Stream;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.google.auto.service.AutoService;
import io.phasetwo.keycloak.model.WebhookProvider;
import io.phasetwo.keycloak.model.WebhookProviderFactory;
import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;
import org.keycloak.Config.Scope;
import org.keycloak.connections.jpa.JpaConnectionProvider;
import org.keycloak.models.KeycloakSession;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import io.phasetwo.keycloak.model.WebhookModel;
import io.phasetwo.keycloak.model.jpa.entity.WebhookEntity;
import jakarta.persistence.EntityManager;
import java.util.Date;
import java.util.Set;
import javax.persistence.EntityManager;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package io.phasetwo.keycloak.model.jpa.entity;

import jakarta.persistence.*;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;

@NamedQueries({
@NamedQuery(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.phasetwo.keycloak.resources;

import javax.validation.constraints.*;
import javax.ws.rs.*;
import javax.ws.rs.NotAuthorizedException;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.HttpHeaders;
import jakarta.validation.constraints.*;
import jakarta.ws.rs.*;
import jakarta.ws.rs.NotAuthorizedException;
import jakarta.ws.rs.NotFoundException;
import jakarta.ws.rs.core.HttpHeaders;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.common.ClientConnection;
import org.keycloak.jose.jws.JWSInput;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.phasetwo.keycloak.resources;

import javax.ws.rs.*;
import javax.ws.rs.core.Response;
import jakarta.ws.rs.*;
import jakarta.ws.rs.core.Response;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.http.HttpRequest;
import org.keycloak.http.HttpResponse;
Expand Down
14 changes: 7 additions & 7 deletions src/main/java/io/phasetwo/keycloak/resources/EventsResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
import io.phasetwo.keycloak.events.WebhookSenderEventListenerProviderFactory;
import io.phasetwo.keycloak.representation.ExtendedAdminEvent;
import io.phasetwo.keycloak.representation.ExtendedAuthDetails;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import jakarta.ws.rs.*;
import jakarta.ws.rs.BadRequestException;
import jakarta.ws.rs.ClientErrorException;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import java.util.Optional;
import java.util.function.Supplier;
import javax.validation.Valid;
import javax.validation.constraints.*;
import javax.ws.rs.*;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.ClientErrorException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.models.KeycloakSession;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
package io.phasetwo.keycloak.resources;

import io.phasetwo.keycloak.representation.RealmAttributeRepresentation;
import jakarta.validation.constraints.*;
import jakarta.ws.rs.*;
import jakarta.ws.rs.BadRequestException;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.ForbiddenException;
import jakarta.ws.rs.NotFoundException;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import java.util.Map;
import java.util.stream.Collectors;
import javax.validation.constraints.*;
import javax.ws.rs.*;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.Consumes;
import javax.ws.rs.ForbiddenException;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.models.KeycloakSession;

Expand Down
22 changes: 11 additions & 11 deletions src/main/java/io/phasetwo/keycloak/resources/WebhooksResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
import io.phasetwo.keycloak.model.WebhookModel;
import io.phasetwo.keycloak.model.WebhookProvider;
import io.phasetwo.keycloak.representation.WebhookRepresentation;
import jakarta.validation.constraints.*;
import jakarta.ws.rs.*;
import jakarta.ws.rs.BadRequestException;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.NotFoundException;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.stream.Stream;
import javax.validation.constraints.*;
import javax.ws.rs.*;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.Consumes;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import lombok.extern.jbosslog.JBossLog;
import org.keycloak.models.KeycloakSession;
import org.keycloak.services.resources.admin.AdminRoot;
Expand Down

0 comments on commit 66c94d3

Please sign in to comment.