diff options
-rw-r--r-- | build.gradle | 2 | ||||
-rw-r--r-- | src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java | 17 | ||||
-rw-r--r-- | src/main/resources/application.properties | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/build.gradle b/build.gradle index d505ac1..0250f26 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,7 @@ dependencies { implementation 'io.quarkus:quarkus-jsonp' implementation 'io.quarkus:quarkus-kubernetes' implementation 'io.quarkus:quarkus-mailer' + implementation 'io.quarkus:quarkus-oidc' implementation 'io.quarkus:quarkus-qute' implementation 'io.quarkus:quarkus-resteasy' implementation 'io.quarkus:quarkus-resteasy-jsonb' @@ -44,7 +45,6 @@ dependencies { //implementation 'io.quarkus:quarkus-elytron-security-jdbc' //implementation 'io.quarkus:quarkus-elytron-security-oauth2' //implementation 'io.quarkus:quarkus-keycloak-authorization' - //implementation 'io.quarkus:quarkus-oidc' //implementation 'io.quarkus:quarkus-quartz' //implementation 'io.quarkus:quarkus-smallrye-fault-tolerance' //implementation 'io.quarkus:quarkus-smallrye-health' diff --git a/src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java b/src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java index fc504c8..76602c8 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java @@ -1,14 +1,31 @@ package eu.mulk.mulkcms2.cms.web; +import io.quarkus.security.Authenticated; +import io.quarkus.security.identity.SecurityIdentity; +import io.smallrye.jwt.auth.principal.JWTCallerPrincipal; +import javax.inject.Inject; import javax.ws.rs.GET; +import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.jboss.logging.Logger; +@Path("/example") public class ExampleResource { + private static Logger log = Logger.getLogger(ExampleResource.class); + + @Inject + SecurityIdentity identity; + @GET @Produces({MediaType.TEXT_PLAIN}) + @Authenticated public String hello() { + if (!identity.isAnonymous()) { + var jwtCallerPrincipal = (JWTCallerPrincipal) identity.getPrincipal(); + log.infof("Logged in as user: %s", jwtCallerPrincipal.getName()); + } return "hello!"; } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 5173cbe..4ba1cb1 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,3 +10,7 @@ quarkus.datasource.min-size = 0 %dev.quarkus.datasource.url = jdbc:postgresql://localhost:5432/flep %dev.quarkus.datasource.username = mulk %dev.quarkus.datasource.password = + +quarkus.oidc.auth-server-url = https://login.benkard.de/auth/realms/master +quarkus.oidc.client-id = mulkcms +quarkus.oidc.application-type = web-app |