+ * 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 4e103f2daa..31df118e26 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
@@ -64,7 +64,8 @@ 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.core.ReactiveOAuth2TokenValidator;
+import org.springframework.security.oauth2.core.ReactiveWrappingOAuth2TokenValidator;
import org.springframework.security.oauth2.jose.jws.JwsAlgorithm;
import org.springframework.security.oauth2.jose.jws.MacAlgorithm;
import org.springframework.security.oauth2.jose.jws.SignatureAlgorithm;
@@ -97,10 +98,10 @@ public final class NimbusReactiveJwtDecoder implements ReactiveJwtDecoder {
private final Converter> jwtProcessor;
- private OAuth2TokenValidator jwtValidator = JwtValidators.createDefault();
+ private ReactiveOAuth2TokenValidator jwtValidator = JwtValidators.createReactiveDefault();
private Converter