-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Closed
Labels
in: configAn issue in spring-security-configAn issue in spring-security-configtype: bugA general bugA general bug
Milestone
Description
Summary
When configuring both jwkSetUri and jwtDecoder in the Resource Server Kotlin DSL, the jwkSetUri always takes precedence.
Instead, whichever was declared last should take precedence.
Consider the following configuration
@EnableWebSecurity
class SecurityConfig : WebSecurityConfigurerAdapter() {
override fun configure(http: HttpSecurity) {
http {
oauth2ResourceServer {
jwt {
jwkSetUri = "https://example1.com/oauth2/jwk1"
jwtDecoder = NimbusJwtDecoder.withJwkSetUri("https://example2.com/oauth2/jwk2").build()
}
}
}
}
}
Actual Behavior
The JWT decoder uses the JWK Set URI "https://example1.com/oauth2/jwk1".
Expected Behavior
The JWT decoder should use the JWK Set URI "https://example2.com/oauth2/jwk2".
Note: This is a contrived example since it does not make sense to set both jwkSetUri and jwtDecoder in the same configuration.
A realistic situation where this may occur is when inheriting from a parent configuration.
Metadata
Metadata
Assignees
Labels
in: configAn issue in spring-security-configAn issue in spring-security-configtype: bugA general bugA general bug