-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Closed
Labels
in: oauth2An issue in OAuth2 modules (oauth2-core, oauth2-client, oauth2-resource-server, oauth2-jose)An issue in OAuth2 modules (oauth2-core, oauth2-client, oauth2-resource-server, oauth2-jose)status: duplicateA duplicate of another issueA duplicate of another issuetype: enhancementA general enhancementA general enhancement
Description
Expected Behavior
X509CertificateThumbprintValidator should be public and without final OR it should expose some way to set custom Supplier<X509Certificate>
Current Behavior
Currently, X509CertificateThumbprintValidator is built with the DefaultX509CertificateSupplier. This is not configurable because:
X509CertificateThumbprintValidatoris a default visibility with final classJwtValidators#createDefaultWithValidatorsmethod doesn't really help, because we can't create our own customizedX509CertificateThumbprintValidatorbecause as I mentioned in # 1, it is final class with default visibility- It doesn't really use JWKs URI either that could have been passed by the other parameter when building NimbusJwtDecoder
- Only way is through
jakarta.servlet.request.X509Certificaterequest attribute but this isn't documented anywhere
Context
The token I'm decoding has cnf claim and since I've upgraded to Spring Boot 3 (spring security 6), it's broken due to new X509CertificateThumbprintValidator in Spring Security 6. It seems like I can work around it with jakarta.servlet.request.X509Certificate request attribute but ideally it should use JWKs URI that we pass in as part of building NimbusJwtValidator
Metadata
Metadata
Assignees
Labels
in: oauth2An issue in OAuth2 modules (oauth2-core, oauth2-client, oauth2-resource-server, oauth2-jose)An issue in OAuth2 modules (oauth2-core, oauth2-client, oauth2-resource-server, oauth2-jose)status: duplicateA duplicate of another issueA duplicate of another issuetype: enhancementA general enhancementA general enhancement