|
56 | 56 | import org.springframework.security.oauth2.server.resource.authentication.ReactiveJwtAuthenticationConverter;
|
57 | 57 | import org.springframework.security.oauth2.server.resource.authentication.ReactiveJwtGrantedAuthoritiesConverterAdapter;
|
58 | 58 | import org.springframework.security.web.server.SecurityWebFilterChain;
|
| 59 | +import org.springframework.util.Assert; |
59 | 60 | import org.springframework.util.CollectionUtils;
|
60 | 61 |
|
61 | 62 | /**
|
@@ -91,8 +92,9 @@ static class JwtConfiguration {
|
91 | 92 | @Bean
|
92 | 93 | @ConditionalOnProperty(name = "spring.security.oauth2.resourceserver.jwt.jwk-set-uri")
|
93 | 94 | ReactiveJwtDecoder jwtDecoder(ObjectProvider<JwkSetUriReactiveJwtDecoderBuilderCustomizer> customizers) {
|
94 |
| - JwkSetUriReactiveJwtDecoderBuilder builder = NimbusReactiveJwtDecoder |
95 |
| - .withJwkSetUri(this.properties.getJwkSetUri()) |
| 95 | + String jwkSetUri = this.properties.getJwkSetUri(); |
| 96 | + Assert.state(jwkSetUri != null, "'jwkSetUri' must not be null"); |
| 97 | + JwkSetUriReactiveJwtDecoderBuilder builder = NimbusReactiveJwtDecoder.withJwkSetUri(jwkSetUri) |
96 | 98 | .jwsAlgorithms(this::jwsAlgorithms);
|
97 | 99 | customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
|
98 | 100 | NimbusReactiveJwtDecoder nimbusReactiveJwtDecoder = builder.build();
|
@@ -164,12 +166,12 @@ private String exactlyOneAlgorithm() {
|
164 | 166 | SupplierReactiveJwtDecoder jwtDecoderByIssuerUri(
|
165 | 167 | ObjectProvider<JwkSetUriReactiveJwtDecoderBuilderCustomizer> customizers) {
|
166 | 168 | return new SupplierReactiveJwtDecoder(() -> {
|
167 |
| - JwkSetUriReactiveJwtDecoderBuilder builder = NimbusReactiveJwtDecoder |
168 |
| - .withIssuerLocation(this.properties.getIssuerUri()); |
| 169 | + String issuerUri = this.properties.getIssuerUri(); |
| 170 | + Assert.state(issuerUri != null, "'issuerUri' must not be null"); |
| 171 | + JwkSetUriReactiveJwtDecoderBuilder builder = NimbusReactiveJwtDecoder.withIssuerLocation(issuerUri); |
169 | 172 | customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
|
170 | 173 | NimbusReactiveJwtDecoder jwtDecoder = builder.build();
|
171 |
| - jwtDecoder.setJwtValidator( |
172 |
| - getValidators(JwtValidators.createDefaultWithIssuer(this.properties.getIssuerUri()))); |
| 174 | + jwtDecoder.setJwtValidator(getValidators(JwtValidators.createDefaultWithIssuer(issuerUri))); |
173 | 175 | return jwtDecoder;
|
174 | 176 | });
|
175 | 177 | }
|
|
0 commit comments