Skip to content

Commit 9e77c11

Browse files
committed
Configure OidcSessionRegistry in Kotlin
Closes gh-15814
1 parent 78cd3a0 commit 9e77c11

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

config/src/main/kotlin/org/springframework/security/config/annotation/web/OAuth2LoginDsl.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,20 @@
1616

1717
package org.springframework.security.config.annotation.web
1818

19+
import jakarta.servlet.http.HttpServletRequest
1920
import org.springframework.security.authentication.AuthenticationDetailsSource
2021
import org.springframework.security.config.annotation.web.builders.HttpSecurity
22+
import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2LoginConfigurer
2123
import org.springframework.security.config.annotation.web.oauth2.login.AuthorizationEndpointDsl
2224
import org.springframework.security.config.annotation.web.oauth2.login.RedirectionEndpointDsl
2325
import org.springframework.security.config.annotation.web.oauth2.login.TokenEndpointDsl
2426
import org.springframework.security.config.annotation.web.oauth2.login.UserInfoEndpointDsl
25-
import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2LoginConfigurer
2627
import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService
28+
import org.springframework.security.oauth2.client.oidc.session.OidcSessionRegistry
2729
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository
2830
import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
2931
import org.springframework.security.web.authentication.AuthenticationFailureHandler
3032
import org.springframework.security.web.authentication.AuthenticationSuccessHandler
31-
import jakarta.servlet.http.HttpServletRequest
3233

3334
/**
3435
* A Kotlin DSL to configure [HttpSecurity] OAuth 2.0 login using idiomatic Kotlin code.
@@ -61,6 +62,7 @@ class OAuth2LoginDsl {
6162
var loginProcessingUrl: String? = null
6263
var permitAll: Boolean? = null
6364
var authenticationDetailsSource: AuthenticationDetailsSource<HttpServletRequest, *>? = null
65+
var oidcSessionRegistry: OidcSessionRegistry? = null
6466

6567
private var defaultSuccessUrlOption: Pair<String, Boolean>? = null
6668
private var authorizationEndpoint: ((OAuth2LoginConfigurer<HttpSecurity>.AuthorizationEndpointConfig) -> Unit)? = null
@@ -236,6 +238,7 @@ class OAuth2LoginDsl {
236238
redirectionEndpoint?.also { oauth2Login.redirectionEndpoint(redirectionEndpoint) }
237239
userInfoEndpoint?.also { oauth2Login.userInfoEndpoint(userInfoEndpoint) }
238240
authenticationDetailsSource?.also { oauth2Login.authenticationDetailsSource(authenticationDetailsSource) }
241+
oidcSessionRegistry?.also { oauth2Login.oidcSessionRegistry(oidcSessionRegistry) }
239242
}
240243
}
241244
}

config/src/main/kotlin/org/springframework/security/config/web/server/ServerOAuth2LoginDsl.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package org.springframework.security.config.web.server
1919
import org.springframework.security.authentication.ReactiveAuthenticationManager
2020
import org.springframework.security.core.Authentication
2121
import org.springframework.security.oauth2.client.ReactiveOAuth2AuthorizedClientService
22+
import org.springframework.security.oauth2.client.oidc.server.session.ReactiveOidcSessionRegistry
2223
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository
2324
import org.springframework.security.oauth2.client.web.server.ServerAuthorizationRequestRepository
2425
import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizationRequestResolver
@@ -68,6 +69,7 @@ class ServerOAuth2LoginDsl {
6869
var authorizationRequestResolver: ServerOAuth2AuthorizationRequestResolver? = null
6970
var authorizationRedirectStrategy: ServerRedirectStrategy? = null
7071
var authenticationMatcher: ServerWebExchangeMatcher? = null
72+
var oidcSessionRegistry: ReactiveOidcSessionRegistry? = null
7173

7274
internal fun get(): (ServerHttpSecurity.OAuth2LoginSpec) -> Unit {
7375
return { oauth2Login ->
@@ -83,6 +85,7 @@ class ServerOAuth2LoginDsl {
8385
authorizationRequestResolver?.also { oauth2Login.authorizationRequestResolver(authorizationRequestResolver) }
8486
authorizationRedirectStrategy?.also { oauth2Login.authorizationRedirectStrategy(authorizationRedirectStrategy) }
8587
authenticationMatcher?.also { oauth2Login.authenticationMatcher(authenticationMatcher) }
88+
oidcSessionRegistry?.also { oauth2Login.oidcSessionRegistry(oidcSessionRegistry) }
8689
}
8790
}
8891
}

0 commit comments

Comments
 (0)