Skip to content

Commit 7958489

Browse files
committed
Do not set the NotBefore in the SubjectConfirmation, the spec indicates this element should not contain this attribute.
#4 (comment) FusionAuth/fusionauth-issues#1215
1 parent cabe5ba commit 7958489

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

build.savant

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
savantVersion = "1.0.0"
1717

18-
project(group: "io.fusionauth", name: "fusionauth-samlv2", version: "0.5.6", licenses: ["ApacheV2_0"]) {
18+
project(group: "io.fusionauth", name: "fusionauth-samlv2", version: "0.5.7", licenses: ["ApacheV2_0"]) {
1919
workflow {
2020
standard()
2121
}

src/main/java/io/fusionauth/samlv2/domain/SubjectConfirmation.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public class SubjectConfirmation {
2727

2828
public ConfirmationMethod method;
2929

30-
public ZonedDateTime notBefore;
31-
3230
public ZonedDateTime notOnOrAfter;
3331

3432
public String recipient;

src/main/java/io/fusionauth/samlv2/service/DefaultSAMLv2Service.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ public String buildAuthnResponse(AuthenticationResponse response, boolean sign,
209209
if (response.assertion.subject.subjectConfirmation != null) {
210210
SubjectConfirmationDataType dataType = new SubjectConfirmationDataType();
211211
dataType.setInResponseTo(response.assertion.subject.subjectConfirmation.inResponseTo);
212-
dataType.setNotBefore(toXMLGregorianCalendar(response.assertion.subject.subjectConfirmation.notBefore));
212+
// SAML Profiles 4.1.4.2 <Response> Usage
213+
// - Subject Confirmation MUST NOT contain NotBefore.
213214
dataType.setNotOnOrAfter(toXMLGregorianCalendar(response.assertion.subject.subjectConfirmation.notOnOrAfter));
214215
dataType.setRecipient(response.assertion.subject.subjectConfirmation.recipient);
215216
SubjectConfirmationType subjectConfirmationType = new SubjectConfirmationType();
@@ -829,7 +830,6 @@ private SubjectConfirmation parseConfirmation(SubjectConfirmationType subjectCon
829830
if (data != null) {
830831
subjectConfirmation.address = data.getAddress();
831832
subjectConfirmation.inResponseTo = data.getInResponseTo();
832-
subjectConfirmation.notBefore = toZonedDateTime(data.getNotBefore());
833833
subjectConfirmation.notOnOrAfter = toZonedDateTime(data.getNotOnOrAfter());
834834
subjectConfirmation.recipient = data.getRecipient();
835835
}

0 commit comments

Comments
 (0)