add security configuration
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
35
src/main/kotlin/com/auth/config/WebSecurityConfig.kt
Normal file
35
src/main/kotlin/com/auth/config/WebSecurityConfig.kt
Normal file
@@ -0,0 +1,35 @@
|
||||
package com.auth.config
|
||||
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
import org.springframework.security.config.Customizer
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
|
||||
import org.springframework.security.config.annotation.web.configurers.LogoutConfigurer
|
||||
import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2LoginConfigurer
|
||||
import org.springframework.security.web.SecurityFilterChain
|
||||
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity
|
||||
class WebSecurityConfig () {
|
||||
|
||||
@Bean
|
||||
@Throws(Exception::class)
|
||||
fun filterChain(http: HttpSecurity): SecurityFilterChain? {
|
||||
http
|
||||
.authorizeHttpRequests(Customizer { auth -> auth
|
||||
.requestMatchers("/", "/home").permitAll()
|
||||
.anyRequest().authenticated()
|
||||
})
|
||||
.oauth2Login(Customizer { oauth2: OAuth2LoginConfigurer<HttpSecurity?>? ->
|
||||
oauth2!!
|
||||
.defaultSuccessUrl("/dashboard", true)
|
||||
.loginPage("/oauth2/authorization/keycloak") } // Spring сам редиректит
|
||||
).logout(Customizer { logout: LogoutConfigurer<HttpSecurity?>? ->
|
||||
logout!!
|
||||
.logoutSuccessUrl("/") })
|
||||
|
||||
return http.build()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user