summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2020-01-24 13:25:54 +0100
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2020-01-24 13:25:54 +0100
commit24a25144eaaf1c0a13b7fe746a1e453010dd14cf (patch)
tree628679309b075430d5e837de1ead78dfe2bbcb30 /src/main
parent55c42a59a51c35b3148d6da8d3a8c510b2dcdc85 (diff)
Enable authentication via Keycloak.
Change-Id: I81a05d2e965394b13d7344f4f20475b4e468c761
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/web/ExampleResource.java17
-rw-r--r--src/main/resources/application.properties4
2 files changed, 21 insertions, 0 deletions
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