Skip to content

Commit 2097ab0

Browse files
committed
[skip ci] Move KubernetesAuthenticationUtils to save-cloud-common
1 parent 86dd0a9 commit 2097ab0

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ spring-boot = { module = "org.springframework.boot:spring-boot" }
9090
spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure" }
9191
spring-boot-configuration-processor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "spring-boot" }
9292
spring-security-core = { module = "org.springframework.security:spring-security-core" }
93+
spring-security-web = { module = "org.springframework.security:spring-security-web" }
9394
spring-security-oauth2-client = { module = "org.springframework.security:spring-security-oauth2-client" }
9495
spring-security-test = { module = "org.springframework.security:spring-security-test" }
9596
spring-boot-gradle-plugin = { module = "org.springframework.boot:spring-boot-gradle-plugin", version.ref = "spring-boot" }

save-backend/src/main/kotlin/com/saveourtool/save/backend/configs/WebSecurityConfig.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ package com.saveourtool.save.backend.configs
66

77
import com.saveourtool.save.backend.utils.ConvertingAuthenticationManager
88
import com.saveourtool.save.backend.utils.CustomAuthenticationBasicConverter
9-
import com.saveourtool.save.backend.utils.ServiceAccountAuthenticatingManager
10-
import com.saveourtool.save.backend.utils.ServiceAccountTokenExtractorConverter
119
import com.saveourtool.save.domain.Role
10+
import com.saveourtool.save.spring.securi ty.KubernetesAuthenticationUtils
11+
import com.saveourtool.save.spring.security.ServiceAccountAuthenticatingManager
12+
import com.saveourtool.save.spring.security.ServiceAccountTokenExtractorConverter
1213
import com.saveourtool.save.v1
1314
import org.springframework.beans.factory.annotation.Autowired
1415
import org.springframework.context.annotation.Bean
16+
import org.springframework.context.annotation.Import
1517
import org.springframework.context.annotation.Profile
1618
import org.springframework.core.annotation.Order
1719
import org.springframework.http.HttpStatus
@@ -36,6 +38,7 @@ import javax.annotation.PostConstruct
3638
@EnableWebFluxSecurity
3739
@EnableReactiveMethodSecurity
3840
@Profile("secure")
41+
@Import(KubernetesAuthenticationUtils::class)
3942
@Suppress("MISSING_KDOC_TOP_LEVEL", "MISSING_KDOC_CLASS_ELEMENTS", "MISSING_KDOC_ON_FUNCTION")
4043
class WebSecurityConfig(
4144
private val authenticationManager: ConvertingAuthenticationManager,

save-cloud-common/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ kotlin {
4444
dependencies {
4545
implementation(project.dependencies.platform(libs.spring.boot.dependencies))
4646
implementation(libs.spring.security.core)
47+
implementation(libs.spring.security.web)
4748
implementation(libs.spring.web)
4849
implementation(libs.spring.webflux)
4950
implementation(libs.spring.boot)
@@ -56,6 +57,7 @@ kotlin {
5657
implementation(libs.commons.compress)
5758
implementation(libs.validation.api)
5859
implementation(libs.swagger.annotations)
60+
implementation(libs.fabric8.kubernetes.client)
5961
}
6062
}
6163
val jvmTest by getting {

save-backend/src/main/kotlin/com/saveourtool/save/backend/utils/KubernetesAuthenticationUtils.kt renamed to save-cloud-common/src/jvmMain/kotlin/com/saveourtool/save/spring/security/KubernetesAuthenticationUtils.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.saveourtool.save.backend.utils
1+
package com.saveourtool.save.spring.security
22

33
import com.saveourtool.save.utils.debug
44
import com.saveourtool.save.utils.getLogger
@@ -8,6 +8,8 @@ import io.fabric8.kubernetes.client.utils.Serialization
88
import org.intellij.lang.annotations.Language
99
import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform
1010
import org.springframework.boot.cloud.CloudPlatform
11+
import org.springframework.context.annotation.Configuration
12+
import org.springframework.context.annotation.Import
1113
import org.springframework.security.authentication.BadCredentialsException
1214
import org.springframework.security.authentication.ReactiveAuthenticationManager
1315
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
@@ -20,6 +22,10 @@ import reactor.core.publisher.Mono
2022
import reactor.kotlin.core.publisher.switchIfEmpty
2123
import reactor.kotlin.core.publisher.toMono
2224

25+
@Configuration
26+
@Import(ServiceAccountTokenExtractorConverter::class, ServiceAccountAuthenticatingManager::class)
27+
open class KubernetesAuthenticationUtils
28+
2329
@Component
2430
@ConditionalOnCloudPlatform(CloudPlatform.KUBERNETES)
2531
class ServiceAccountTokenExtractorConverter : ServerAuthenticationConverter {
@@ -38,7 +44,7 @@ class ServiceAccountTokenExtractorConverter : ServerAuthenticationConverter {
3844
@Component
3945
@ConditionalOnCloudPlatform(CloudPlatform.KUBERNETES)
4046
class ServiceAccountAuthenticatingManager(
41-
val kubernetesClient: KubernetesClient,
47+
private val kubernetesClient: KubernetesClient,
4248
) : ReactiveAuthenticationManager {
4349
override fun authenticate(authentication: Authentication): Mono<Authentication> {
4450
return authentication.toMono()

0 commit comments

Comments
 (0)