diff --git a/kafka-ui-api/pom.xml b/kafka-ui-api/pom.xml index 23b54c1087..c2d037a772 100644 --- a/kafka-ui-api/pom.xml +++ b/kafka-ui-api/pom.xml @@ -34,6 +34,14 @@ + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.security + spring-security-oauth2-client + com.provectus kafka-ui-contract diff --git a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/cluster/config/SecurityConfig.java b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/cluster/config/SecurityConfig.java new file mode 100644 index 0000000000..0276be9ad7 --- /dev/null +++ b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/cluster/config/SecurityConfig.java @@ -0,0 +1,24 @@ +package com.provectus.kafka.ui.cluster.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; +import org.springframework.security.config.web.server.ServerHttpSecurity; +import org.springframework.security.web.server.SecurityWebFilterChain; + +@Configuration +@EnableWebFluxSecurity +@ConditionalOnProperty(value = "auth.enabled", havingValue = "false") +public class SecurityConfig { + + @Bean + public SecurityWebFilterChain configure(ServerHttpSecurity http) { + return http.authorizeExchange() + .anyExchange().permitAll() + .and() + .csrf().disable() + .build(); + } + +} diff --git a/kafka-ui-api/src/main/resources/application-gauth.yml b/kafka-ui-api/src/main/resources/application-gauth.yml new file mode 100644 index 0000000000..1f54fc5ce7 --- /dev/null +++ b/kafka-ui-api/src/main/resources/application-gauth.yml @@ -0,0 +1,10 @@ +auth: + enabled: true +spring: + security: + oauth2: + client: + registration: + google: + client-id: [put your client id here] + client-secret: [put your client secret here] diff --git a/kafka-ui-api/src/main/resources/application-local.yml b/kafka-ui-api/src/main/resources/application-local.yml index 16e8107e58..0b5e53052b 100644 --- a/kafka-ui-api/src/main/resources/application-local.yml +++ b/kafka-ui-api/src/main/resources/application-local.yml @@ -22,4 +22,6 @@ zookeeper: connection-timeout: 1000 spring: jmx: - enabled: true \ No newline at end of file + enabled: true +auth: + enabled: false \ No newline at end of file