+ * Create a reactive {@link Jwt} Validator that contains all standard validators.
+ *
+ *
+ * User's wanting to leverage the defaults plus additional validation can add the
+ * result of this method to {@code ReactiveDelegatingOAuth2TokenValidator} along with the
+ * additional validators.
+ *
+ * @return - a reactive delegating validator containing all standard validators
+ */
+ public static ReactiveOAuth2TokenValidator createReactiveDefault() {
+ return new ReactiveDelegatingOAuth2TokenValidator<>(JwtTypeValidator.jwt(), new JwtTimestampValidator(),
+ new X509CertificateThumbprintValidator(
+ X509CertificateThumbprintValidator.DEFAULT_X509_CERTIFICATE_SUPPLIER));
+ }
+
/**
*
* Create a {@link Jwt} default validator with standard validators and additional
diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/NimbusReactiveJwtDecoder.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/NimbusReactiveJwtDecoder.java
index 2b8e58c549..597cf51907 100644
--- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/NimbusReactiveJwtDecoder.java
+++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/NimbusReactiveJwtDecoder.java
@@ -55,15 +55,13 @@ import com.nimbusds.jwt.SignedJWT;
import com.nimbusds.jwt.proc.ConfigurableJWTProcessor;
import com.nimbusds.jwt.proc.DefaultJWTProcessor;
import com.nimbusds.jwt.proc.JWTProcessor;
+import org.springframework.security.oauth2.core.*;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.util.function.Tuple2;
import reactor.util.function.Tuples;
import org.springframework.core.convert.converter.Converter;
-import org.springframework.security.oauth2.core.OAuth2Error;
-import org.springframework.security.oauth2.core.OAuth2TokenValidator;
-import org.springframework.security.oauth2.core.OAuth2TokenValidatorResult;
import org.springframework.security.oauth2.jose.jws.JwsAlgorithm;
import org.springframework.security.oauth2.jose.jws.MacAlgorithm;
import org.springframework.security.oauth2.jose.jws.SignatureAlgorithm;
@@ -96,7 +94,7 @@ public final class NimbusReactiveJwtDecoder implements ReactiveJwtDecoder {
private final Converter> jwtProcessor;
- private OAuth2TokenValidator jwtValidator = JwtValidators.createDefault();
+ private ReactiveOAuth2TokenValidator jwtValidator = JwtValidators.createReactiveDefault();
private Converter