private void buildAssertionConditions(Assertion assertion, int assertionTtlSeconds, String audienceURI) { @SuppressWarnings("unchecked") SAMLObjectBuilder<Conditions> conditionsBuilder = (SAMLObjectBuilder<Conditions>) builderFactory .getBuilder(Conditions.DEFAULT_ELEMENT_NAME); Conditions conditions = conditionsBuilder.buildObject(); conditions.setNotBefore(new DateTime()); conditions.setNotOnOrAfter(new DateTime().plusSeconds(assertionTtlSeconds)); @SuppressWarnings("unchecked") SAMLObjectBuilder<AudienceRestriction> audienceRestrictionBuilder = (SAMLObjectBuilder<AudienceRestriction>) builderFactory .getBuilder(AudienceRestriction.DEFAULT_ELEMENT_NAME); AudienceRestriction audienceRestriction = audienceRestrictionBuilder.buildObject(); @SuppressWarnings("unchecked") SAMLObjectBuilder<Audience> audienceBuilder = (SAMLObjectBuilder<Audience>) builderFactory .getBuilder(Audience.DEFAULT_ELEMENT_NAME); Audience audience = audienceBuilder.buildObject(); audience.setAudienceURI(audienceURI); audienceRestriction.getAudiences().add(audience); conditions.getAudienceRestrictions().add(audienceRestriction); assertion.setConditions(conditions); }
/** {@inheritDoc} */ protected void processChildElement(XMLObject parentObject, XMLObject childObject) throws UnmarshallingException { Assertion assertion = (Assertion) parentObject; if (childObject instanceof Issuer) { assertion.setIssuer((Issuer) childObject); } else if (childObject instanceof Signature) { assertion.setSignature((Signature) childObject); } else if (childObject instanceof Subject) { assertion.setSubject((Subject) childObject); } else if (childObject instanceof Conditions) { assertion.setConditions((Conditions) childObject); } else if (childObject instanceof Advice) { assertion.setAdvice((Advice) childObject); } else if (childObject instanceof Statement) { assertion.getStatements().add((Statement) childObject); } else { super.processChildElement(parentObject, childObject); } }
@Override public Assertion build() { AssertionBuilder assertionBuilder = (AssertionBuilder) xmlObjectBuilderFactory.getBuilder(Assertion.DEFAULT_ELEMENT_NAME); Assertion assertion = assertionBuilder.buildObject(); assertion.setID(id); assertion.setIssueInstant(issueInstant); assertion.setVersion(SAMLVersion.VERSION_20); assertion.setIssuer(issuer); assertion.setSubject(subject); assertion.setConditions(conditions); if(signature !=null){ assertion.setSignature(signature); } if(authnStatements.size() > 0){ for (AuthnStatement authnStatement : authnStatements) { assertion.getAuthnStatements().add(authnStatement); } } if(attributeStatements.size() > 0){ for (AttributeStatement attributeStatement : attributeStatements) { assertion.getAttributeStatements().add(attributeStatement); } } return assertion; }
public static Assertion buildAssertion(SAMLPrincipal principal, Status status, String entityId) { Assertion assertion = buildSAMLObject(Assertion.class, Assertion.DEFAULT_ELEMENT_NAME); if (status.getStatusCode().getValue().equals(StatusCode.SUCCESS_URI)) { Subject subject = buildSubject(principal.getNameID(), principal.getNameIDType(), principal.getAssertionConsumerServiceURL(), principal.getRequestID()); assertion.setSubject(subject); } Issuer issuer = buildIssuer(entityId); Audience audience = buildSAMLObject(Audience.class, Audience.DEFAULT_ELEMENT_NAME); audience.setAudienceURI(principal.getServiceProviderEntityID()); AudienceRestriction audienceRestriction = buildSAMLObject(AudienceRestriction.class, AudienceRestriction.DEFAULT_ELEMENT_NAME); audienceRestriction.getAudiences().add(audience); Conditions conditions = buildSAMLObject(Conditions.class, Conditions.DEFAULT_ELEMENT_NAME); conditions.getAudienceRestrictions().add(audienceRestriction); assertion.setConditions(conditions); AuthnStatement authnStatement = buildAuthnStatement(new DateTime(), entityId); assertion.setIssuer(issuer); assertion.getAuthnStatements().add(authnStatement); assertion.getAttributeStatements().add(buildAttributeStatement(principal.getAttributes())); assertion.setID(randomSAMLId()); assertion.setIssueInstant(new DateTime()); return assertion; }
org.opensaml.saml2.core.Conditions conditions = SAMLAssertionBuilder.createConditions(assertionBean.getConditionsBean()); assertion.setConditions(conditions); assertion.getAttributeStatements().addAll(attributeStatements); evidenceElement.getAssertions().add(assertion);
assertion.setConditions(conditions);
assertion.setConditions(conditions);
assertion.setConditions(conditions);
saml2.setConditions(conditions);
saml2.setConditions(conditions);
assertion.setConditions(conditions); DateTime notAfter = issueInstant.plusMinutes(validity); conditions.setNotBefore(issueInstant);
conditions.setNotOnOrAfter(notOnOrAfter); conditions.getAudienceRestrictions().add(audienceRestriction); assertion.setConditions(conditions);
conditions.setNotOnOrAfter(notOnOrAfter); conditions.getAudienceRestrictions().add(audienceRestriction); samlAssertion.setConditions(conditions);
conditions.setNotOnOrAfter(notOnOrAfter); conditions.getAudienceRestrictions().add(audienceRestriction); samlAssertion.setConditions(conditions);
conditions.setNotOnOrAfter(notOnOrAfter); conditions.getAudienceRestrictions().add(audienceRestriction); samlAssertion.setConditions(conditions);
conditions.setNotOnOrAfter(notOnOrAfter); conditions.getAudienceRestrictions().add(audienceRestriction); samlAssertion.setConditions(conditions);