diff --git a/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java b/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java index 21787d9..0bd2e4f 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java +++ b/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java @@ -1,8 +1,5 @@ package de.jottyfan.camporganizer.module.camplist; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServletRequest; - import java.security.Principal; import org.apache.logging.log4j.LogManager; @@ -15,7 +12,8 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import de.jottyfan.camporganizer.module.camplist.model.BookingBean; -import de.jottyfan.camporganizer.module.registration.KeycloakRepository; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; /** * @@ -26,9 +24,6 @@ import de.jottyfan.camporganizer.module.registration.KeycloakRepository; public class CamplistController extends CommonController { private static final Logger LOGGER = LogManager.getLogger(CamplistController.class); - @Autowired - private KeycloakRepository keycloak; - @Autowired private CamplistService service; @@ -42,7 +37,6 @@ public class CamplistController extends CommonController { public String dashboard(Model model) { model.addAttribute("mybookings", service.getBookingsOf(super.getCurrentUser())); model.addAttribute("bookingBean", new BookingBean()); - model.addAttribute("keycloakProfileUrl", keycloak.getUserClientUrl()); model.addAttribute("camps", service.getAllCamps(true)); return "/dashboard"; } diff --git a/src/main/java/de/jottyfan/camporganizer/module/camplist/CommonController.java b/src/main/java/de/jottyfan/camporganizer/module/camplist/CommonController.java index b173c4a..10ad499 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/camplist/CommonController.java +++ b/src/main/java/de/jottyfan/camporganizer/module/camplist/CommonController.java @@ -4,6 +4,7 @@ import java.security.Principal; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; @@ -12,6 +13,8 @@ import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser; import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.web.bind.annotation.ModelAttribute; +import de.jottyfan.camporganizer.module.registration.KeycloakRepository; + /** * * @author jotty @@ -20,6 +23,9 @@ import org.springframework.web.bind.annotation.ModelAttribute; public abstract class CommonController { private static final Logger LOGGER = LogManager.getLogger(); + @Autowired + private KeycloakRepository keycloak; + /** * try to get current keycloak user * @@ -64,6 +70,11 @@ public abstract class CommonController { return null; } + @ModelAttribute("keycloakProfileUrl") + public String getKeycloakProfileUrl() { + return keycloak.getUserClientUrl(); + } + /** * return true if the user has a valid keycloak session token * diff --git a/src/main/java/de/jottyfan/camporganizer/module/registration/KeycloakRepository.java b/src/main/java/de/jottyfan/camporganizer/module/registration/KeycloakRepository.java index 67b1bf3..98aaf70 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/registration/KeycloakRepository.java +++ b/src/main/java/de/jottyfan/camporganizer/module/registration/KeycloakRepository.java @@ -27,7 +27,7 @@ import org.springframework.stereotype.Repository; public class KeycloakRepository { private final static Logger LOGGER = LogManager.getLogger(KeycloakRepository.class); - @Value("${keycloak.resource}") + @Value("${keycloak.client-id}") private String keycloakClientId; @Value("${keycloak.auth-server-url}") diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c3b896d..e93b2db 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,6 +10,8 @@ spring.datasource.password = ${spring.datasource.password} server.servlet.context-path = ${server.servlet.context-path:/CampOrganizer2} # security +keycloak.auth-server-url = ${keycloak.auth-server-url} +keycloak.realm = ${keycloak.realm} spring.security.oauth2.client.registration.keycloak.client-id = ${keycloak.client-id} spring.security.oauth2.client.registration.keycloak.scope = openid spring.security.oauth2.client.registration.keycloak.authorization-grant-type = authorization_code diff --git a/src/main/resources/templates/camplist.html b/src/main/resources/templates/camplist.html index 7c5366d..0e0176c 100644 --- a/src/main/resources/templates/camplist.html +++ b/src/main/resources/templates/camplist.html @@ -11,7 +11,7 @@ alte Zugangsdaten ins neue System umziehen -
+