Skip to content

Commit 3defed4

Browse files
committed
Merge branch '6.2.x' into 6.3.x
2 parents 0da7284 + 1cc66fa commit 3defed4

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

saml2/saml2-service-provider/src/main/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml4AuthenticationProvider.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -861,7 +861,8 @@ static SAML20AssertionValidator createSignatureValidator(SignatureTrustEngine en
861861
validator) {
862862
@Nonnull
863863
@Override
864-
protected ValidationResult validateBasicData(@Nonnull Assertion assertion, @Nonnull ValidationContext context) throws AssertionValidationException {
864+
protected ValidationResult validateBasicData(@Nonnull Assertion assertion,
865+
@Nonnull ValidationContext context) throws AssertionValidationException {
865866
return ValidationResult.VALID;
866867
}
867868

saml2/saml2-service-provider/src/test/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml4AuthenticationProviderTests.java

+14
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,20 @@ public void authenticateWhenAssertionHasProxyRestrictionThenParses() {
847847
provider.authenticate(token);
848848
}
849849

850+
// gh-15022
851+
@Test
852+
public void authenticateWhenClockSkewThenVerifiesSignature() {
853+
OpenSaml4AuthenticationProvider provider = new OpenSaml4AuthenticationProvider();
854+
provider.setAssertionValidator(OpenSaml4AuthenticationProvider.createDefaultAssertionValidatorWithParameters(
855+
(params) -> params.put(SAML2AssertionValidationParameters.CLOCK_SKEW, Duration.ofMinutes(10))));
856+
Response response = response();
857+
Assertion assertion = assertion();
858+
assertion.setIssueInstant(Instant.now().plus(Duration.ofMinutes(9)));
859+
response.getAssertions().add(assertion);
860+
Saml2AuthenticationToken token = token(signed(response), verifying(registration()));
861+
provider.authenticate(token);
862+
}
863+
850864
private <T extends XMLObject> T build(QName qName) {
851865
return (T) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(qName).buildObject(qName);
852866
}

0 commit comments

Comments
 (0)