data.setRecipient(recipient); subjectConfirmation.setSubjectConfirmationData(data); subjectConfirmation.setMethod("urn:oasis:names:tc:SAML:2.0:cm:bearer");
/** {@inheritDoc} */ protected void processChildElement(XMLObject parentObject, XMLObject childObject) throws UnmarshallingException { SubjectConfirmation subjectConfirmation = (SubjectConfirmation) parentObject; if (childObject instanceof BaseID) { subjectConfirmation.setBaseID((BaseID) childObject); } else if (childObject instanceof NameID) { subjectConfirmation.setNameID((NameID) childObject); } else if (childObject instanceof EncryptedID) { subjectConfirmation.setEncryptedID((EncryptedID) childObject); } else if (childObject instanceof SubjectConfirmationData) { subjectConfirmation.setSubjectConfirmationData((SubjectConfirmationData) childObject); } else { super.processChildElement(parentObject, childObject); } }
/** * Create a SubjectConfirmation object * One of the following subject confirmation methods MUST be used: * urn:oasis:names:tc:SAML:2.0:cm:holder-of-key * urn:oasis:names:tc:SAML:2.0:cm:sender-vouches * urn:oasis:names:tc:SAML:2.0:cm:bearer * * @param method of type String * @param subjectConfirmationData of type SubjectConfirmationData * @return a SubjectConfirmation object */ @SuppressWarnings("unchecked") public static SubjectConfirmation createSubjectConfirmation( String method, SubjectConfirmationData subjectConfirmationData, NameID subjectConfirmationNameId ) { if (subjectConfirmationBuilder == null) { subjectConfirmationBuilder = (SAMLObjectBuilder<SubjectConfirmation>) builderFactory.getBuilder(SubjectConfirmation.DEFAULT_ELEMENT_NAME); } SubjectConfirmation subjectConfirmation = subjectConfirmationBuilder.buildObject(); subjectConfirmation.setMethod(method); subjectConfirmation.setSubjectConfirmationData(subjectConfirmationData); subjectConfirmation.setNameID(subjectConfirmationNameId); return subjectConfirmation; }
confirmation.setSubjectConfirmationData(confirmationData);
/** * New subject element. * * @param nameIdFormat the name id format * @param nameIdValue the name id value * @param recipient the recipient * @param notOnOrAfter the not on or after * @param inResponseTo the in response to * @return the subject */ public Subject newSubject(final String nameIdFormat, final String nameIdValue, final String recipient, final DateTime notOnOrAfter, final String inResponseTo) { final SubjectConfirmation confirmation = newSamlObject(SubjectConfirmation.class); confirmation.setMethod(SubjectConfirmation.METHOD_BEARER); final SubjectConfirmationData data = newSamlObject(SubjectConfirmationData.class); data.setRecipient(recipient); data.setNotOnOrAfter(notOnOrAfter); data.setInResponseTo(inResponseTo); confirmation.setSubjectConfirmationData(data); final Subject subject = newSamlObject(Subject.class); subject.setNameID(getNameID(nameIdFormat, nameIdValue)); subject.getSubjectConfirmations().add(confirmation); return subject; }
/** * Create an efficient field-wise copy of a {@link SubjectConfirmation}. * * @param confirmation the object to clone * * @return the copy */ @Nonnull private SubjectConfirmation cloneConfirmation(@Nonnull final SubjectConfirmation confirmation) { final SubjectConfirmation clone = confirmationBuilder.buildObject(); clone.setMethod(confirmation.getMethod()); final SubjectConfirmationData data = confirmation.getSubjectConfirmationData(); if (data != null) { final SubjectConfirmationData cloneData = confirmationDataBuilder.buildObject(); cloneData.setAddress(data.getAddress()); cloneData.setInResponseTo(data.getInResponseTo()); cloneData.setRecipient(data.getRecipient()); cloneData.setNotBefore(data.getNotBefore()); cloneData.setNotOnOrAfter(data.getNotOnOrAfter()); clone.setSubjectConfirmationData(cloneData); } return clone; }
sc.setMethod(SubjectConfirmation.METHOD_HOLDER_OF_KEY); sc.setNameID(nameID); sc.setSubjectConfirmationData(scData);
subjectConfirmationData.setNotOnOrAfter(notOnOrAfter); subjectConfirmation.setSubjectConfirmationData(subjectConfirmationData); subject.getSubjectConfirmations().add(subjectConfirmation); samlAssertion.setSubject(subject);
subjectConfirmationData.setNotOnOrAfter(notOnOrAfter); subjectConfirmation.setSubjectConfirmationData(subjectConfirmationData); subject.getSubjectConfirmations().add(subjectConfirmation); samlAssertion.setSubject(subject);
buildSAMLObject(org.opensaml.saml.saml2.core.SubjectConfirmation.class); confirmation.setMethod(request.getSubject().getConfirmations().get(0).getMethod().toString()); confirmation.setSubjectConfirmationData(confData);