/** {@inheritDoc} */ @Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) { int count = 0; for (final Assertion assertion : response.getAssertions()) { for (final Statement statement : assertion.getStatements()) { if (statement instanceof SubjectStatement) { final Subject subject = getStatementSubject((SubjectStatement) statement); final NameIdentifier existing = subject.getNameIdentifier(); if (existing == null || overwriteExisting) { subject.setNameIdentifier(cloneNameIdentifier()); count ++; } } } } if (count > 0) { log.debug("{} Added NameIdentifier to {} statement subject(s)", getLogPrefix(), count); } }
/** {@inheritDoc} */ protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject) throws UnmarshallingException { Subject subject = (Subject) parentSAMLObject; if (childSAMLObject instanceof NameIdentifier) { subject.setNameIdentifier((NameIdentifier) childSAMLObject); } else if (childSAMLObject instanceof SubjectConfirmation) { subject.setSubjectConfirmation((SubjectConfirmation) childSAMLObject); } else { super.processChildElement(parentSAMLObject, childSAMLObject); } } }
if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getFormat(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getFormat(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getFormat(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getFormat();
if (statement instanceof SubjectStatement) { final Subject subject = getStatementSubject((SubjectStatement) statement); final SubjectConfirmation existing = subject.getSubjectConfirmation(); if (existing == null || overwriteExisting) { subject.setSubjectConfirmation(count > 0 ? cloneConfirmation(confirmation) : confirmation);
if (samlSubject != null && samlSubject.getSubjectConfirmation() != null) { Element sub = samlSubject.getSubjectConfirmation().getDOM(); Element keyInfoElement = XMLUtils.getDirectChildElement(sub, "KeyInfo", SIG_NS);
if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getValue(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getValue(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getValue(); if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getValue();
Subject subject = subjectStatement.getSubject(); if (subject != null) { SubjectConfirmation confirmation = subject.getSubjectConfirmation(); if (confirmation != null) { XMLObject data = confirmation.getSubjectConfirmationData();
/** * Build a new subject. * * @param identifier subject identifier * @return new subject */ @Nonnull private Subject newSubject(final String identifier) { final SubjectConfirmation confirmation = newSAMLObject( SubjectConfirmation.class, SubjectConfirmation.DEFAULT_ELEMENT_NAME); final ConfirmationMethod method = newSAMLObject( ConfirmationMethod.class, ConfirmationMethod.DEFAULT_ELEMENT_NAME); method.setConfirmationMethod(ConfirmationMethod.METHOD_ARTIFACT); confirmation.getConfirmationMethods().add(method); final NameIdentifier nameIdentifier = newSAMLObject(NameIdentifier.class, NameIdentifier.DEFAULT_ELEMENT_NAME); nameIdentifier.setValue(identifier); final Subject subject = newSAMLObject(Subject.class, Subject.DEFAULT_ELEMENT_NAME); subject.setNameIdentifier(nameIdentifier); subject.setSubjectConfirmation(confirmation); return subject; }
/** {@inheritDoc} */ @Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) { final NameIdentifier nameIdentifier = generateNameIdentifier(profileRequestContext); if (nameIdentifier == null) { log.debug("{} Unable to generate a NameIdentifier, leaving empty", getLogPrefix()); return; } int count = 0; for (final Assertion assertion : assertions) { for (final Statement statement : assertion.getStatements()) { if (statement instanceof SubjectStatement) { final Subject subject = getStatementSubject((SubjectStatement) statement); final NameIdentifier existing = subject.getNameIdentifier(); if (existing == null || overwriteExisting) { subject.setNameIdentifier(count > 0 ? cloneNameIdentifier(nameIdentifier) : nameIdentifier); count ++; } } } } if (count > 0) { log.debug("{} Added NameIdentifier to {} statement subject(s)", getLogPrefix(), count); } }
final org.opensaml.saml.saml1.core.SubjectQuery query = ((Request) samlMessage).getSubjectQuery(); if (query.getSubject() != null) { return query.getSubject().getNameIdentifier(); } else { return null;
/** * New subject element with given confirmation method. * * @param identifier the identifier * @param confirmationMethod the confirmation method * @return the subject */ public Subject newSubject(final String identifier, final String confirmationMethod) { final SubjectConfirmation confirmation = newSamlObject(SubjectConfirmation.class); final ConfirmationMethod method = newSamlObject(ConfirmationMethod.class); method.setConfirmationMethod(confirmationMethod); confirmation.getConfirmationMethods().add(method); final NameIdentifier nameIdentifier = newSamlObject(NameIdentifier.class); nameIdentifier.setNameIdentifier(identifier); final Subject subject = newSamlObject(Subject.class); subject.setNameIdentifier(nameIdentifier); subject.setSubjectConfirmation(confirmation); return subject; }
if (samlSubject != null && samlSubject.getNameIdentifier() != null) { return samlSubject.getNameIdentifier().getValue();
subjectConfirmation.setKeyInfo(keyInfo); subject.setNameIdentifier(nameIdentifier); subject.setSubjectConfirmation(subjectConfirmation);
public static Subject getSubject(Message message, SamlAssertionWrapper assertionW) { if (assertionW.getSaml2() != null) { org.opensaml.saml.saml2.core.Subject s = assertionW.getSaml2().getSubject(); Subject subject = new Subject(); NameID nameId = s.getNameID(); subject.setNameQualifier(nameId.getNameQualifier()); // if format is transient then we may need to use STSClient // to request an alternate name from IDP subject.setNameFormat(nameId.getFormat()); subject.setName(nameId.getValue()); subject.setSpId(nameId.getSPProvidedID()); subject.setSpQualifier(nameId.getSPNameQualifier()); return subject; } else if (assertionW.getSaml1() != null) { org.opensaml.saml.saml1.core.Subject s = getSaml1Subject(assertionW); if (s != null) { Subject subject = new Subject(); NameIdentifier nameId = s.getNameIdentifier(); subject.setNameQualifier(nameId.getNameQualifier()); // if format is transient then we may need to use STSClient // to request an alternate name from IDP subject.setNameFormat(nameId.getFormat()); subject.setName(nameId.getValue()); return subject; } } return null; }
public static Subject getSubject(Message message, SamlAssertionWrapper assertionW) { if (assertionW.getSaml2() != null) { org.opensaml.saml.saml2.core.Subject s = assertionW.getSaml2().getSubject(); Subject subject = new Subject(); NameID nameId = s.getNameID(); subject.setNameQualifier(nameId.getNameQualifier()); // if format is transient then we may need to use STSClient // to request an alternate name from IDP subject.setNameFormat(nameId.getFormat()); subject.setName(nameId.getValue()); subject.setSpId(nameId.getSPProvidedID()); subject.setSpQualifier(nameId.getSPNameQualifier()); return subject; } else if (assertionW.getSaml1() != null) { org.opensaml.saml.saml1.core.Subject s = getSaml1Subject(assertionW); if (s != null) { Subject subject = new Subject(); NameIdentifier nameId = s.getNameIdentifier(); subject.setNameQualifier(nameId.getNameQualifier()); // if format is transient then we may need to use STSClient // to request an alternate name from IDP subject.setNameFormat(nameId.getFormat()); subject.setName(nameId.getValue()); return subject; } } return null; }