From 37c6fe33d76962fed32a2f9c206a0a8f3adec392 Mon Sep 17 00:00:00 2001 From: Stefan de Konink Date: Thu, 1 Apr 2021 21:28:29 +0200 Subject: [PATCH] Implement a functional logout for spring-boot-keycloak --- .../main/java/com/baeldung/keycloak/WebController.java | 8 ++++++++ .../src/main/resources/templates/customers.html | 1 + 2 files changed, 9 insertions(+) diff --git a/spring-boot-modules/spring-boot-keycloak/src/main/java/com/baeldung/keycloak/WebController.java b/spring-boot-modules/spring-boot-keycloak/src/main/java/com/baeldung/keycloak/WebController.java index 3bafe1f195..bbd96c8135 100644 --- a/spring-boot-modules/spring-boot-keycloak/src/main/java/com/baeldung/keycloak/WebController.java +++ b/spring-boot-modules/spring-boot-keycloak/src/main/java/com/baeldung/keycloak/WebController.java @@ -8,6 +8,8 @@ import java.security.Principal; import org.springframework.beans.factory.annotation.Autowired; +import javax.servlet.http.HttpServletRequest; + @Controller public class WebController { @@ -19,6 +21,12 @@ public class WebController { return "external"; } + @GetMapping("/logout") + public String logout(HttpServletRequest request) throws Exception { + request.logout(); + return "redirect:/"; + } + @GetMapping(path = "/customers") public String customers(Principal principal, Model model) { addCustomers(); diff --git a/spring-boot-modules/spring-boot-keycloak/src/main/resources/templates/customers.html b/spring-boot-modules/spring-boot-keycloak/src/main/resources/templates/customers.html index 5a060d31da..de2df93ef1 100644 --- a/spring-boot-modules/spring-boot-keycloak/src/main/resources/templates/customers.html +++ b/spring-boot-modules/spring-boot-keycloak/src/main/resources/templates/customers.html @@ -27,6 +27,7 @@ + Logout