From f667b36d357beb4030bdd8408fc7859648a4bce0 Mon Sep 17 00:00:00 2001 From: kre6513 Date: Fri, 4 Sep 2020 10:27:49 +0200 Subject: [PATCH] configuration and swagger --- pom.xml | 24 ++++++--- .../config/KeycloakSecurityConfiguration.java | 53 +++++++++++-------- .../model/config/SwaggerSpringfoxConfig.java | 23 ++++++++ 3 files changed, 73 insertions(+), 27 deletions(-) create mode 100644 src/main/java/de/kreth/clubhelper/model/config/SwaggerSpringfoxConfig.java diff --git a/pom.xml b/pom.xml index 9f3e85f..df0e935 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,8 @@ 8 11.0.1 - cb326711c47c07bb48e5c6e4aa702806f23fa772 + cb326711c47c07bb48e5c6e4aa702806f23fa772 + @@ -55,6 +56,22 @@ keycloak-spring-security-adapter + + io.springfox + springfox-boot-starter + 3.0.0 + + + + + + + + + + + + org.springframework.boot spring-boot-devtools @@ -66,11 +83,6 @@ mysql-connector-java runtime - - org.projectlombok - lombok - true - org.springframework.boot diff --git a/src/main/java/de/kreth/clubhelper/model/config/KeycloakSecurityConfiguration.java b/src/main/java/de/kreth/clubhelper/model/config/KeycloakSecurityConfiguration.java index 92852f8..ebf4d86 100644 --- a/src/main/java/de/kreth/clubhelper/model/config/KeycloakSecurityConfiguration.java +++ b/src/main/java/de/kreth/clubhelper/model/config/KeycloakSecurityConfiguration.java @@ -6,6 +6,7 @@ import org.keycloak.adapters.springsecurity.KeycloakConfiguration; import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider; import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @@ -15,33 +16,43 @@ import org.springframework.security.core.authority.mapping.SimpleAuthorityMapper import org.springframework.security.core.session.SessionRegistryImpl; import org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy; import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy; +import org.springframework.security.web.session.HttpSessionEventPublisher; @KeycloakConfiguration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) -public class KeycloakSecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter { +public class KeycloakSecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter +{ + @Autowired + public void configureGlobal(AuthenticationManagerBuilder auth) + { + KeycloakAuthenticationProvider keyCloakAuthProvider = keycloakAuthenticationProvider(); + keyCloakAuthProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper()); + auth.authenticationProvider(keyCloakAuthProvider); + } - @Autowired - public void configureGlobal(AuthenticationManagerBuilder auth) { - KeycloakAuthenticationProvider keyCloakAuthProvider = keycloakAuthenticationProvider(); - keyCloakAuthProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper()); - auth.authenticationProvider(keyCloakAuthProvider); - } + @Bean + public ServletListenerRegistrationBean httpSessionEventPublisher() + { + return new ServletListenerRegistrationBean(new HttpSessionEventPublisher()); + } - @Bean - public KeycloakConfigResolver keyCloakConfigResolver() { - return new KeycloakSpringBootConfigResolver(); - } + @Bean + public KeycloakConfigResolver keyCloakConfigResolver() + { + return new KeycloakSpringBootConfigResolver(); + } - @Override - protected SessionAuthenticationStrategy sessionAuthenticationStrategy() { - return new RegisterSessionAuthenticationStrategy( - new SessionRegistryImpl()); - } + @Override + protected SessionAuthenticationStrategy sessionAuthenticationStrategy() + { + return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl()); + } - @Override - protected void configure(HttpSecurity http) throws Exception { - super.configure(http); - http.authorizeRequests(); - } + @Override + protected void configure(HttpSecurity http) throws Exception + { + super.configure(http); + http.authorizeRequests(); + } } diff --git a/src/main/java/de/kreth/clubhelper/model/config/SwaggerSpringfoxConfig.java b/src/main/java/de/kreth/clubhelper/model/config/SwaggerSpringfoxConfig.java new file mode 100644 index 0000000..48e0197 --- /dev/null +++ b/src/main/java/de/kreth/clubhelper/model/config/SwaggerSpringfoxConfig.java @@ -0,0 +1,23 @@ +package de.kreth.clubhelper.model.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +@Configuration +public class SwaggerSpringfoxConfig +{ + @Bean + public Docket api() + { + return new Docket(DocumentationType.SWAGGER_2) + .select() + .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()) + .build(); + } +}