/** {@inheritDoc} */ protected void marshallElementContent(XMLObject samlObject, Element domElement) throws MarshallingException { NameIdentifier nameIdentifier = (NameIdentifier) samlObject; if (nameIdentifier.getValue() != null) { ElementSupport.appendTextContent(domElement, nameIdentifier.getValue()); } } }
/** {@inheritDoc} */ @Override @Nullable public String decode(@Nonnull final SubjectCanonicalizationContext c14nContext, @Nonnull final NameIdentifier nameIdentifier) throws NameDecoderException { return decode(nameIdentifier.getValue()); }
/** {@inheritDoc} */ @Override @Nonnull public String decode(@Nonnull final SubjectCanonicalizationContext c14nContext, @Nonnull final NameIdentifier nameIdentifier) throws NameDecoderException { return super.decode(nameIdentifier.getValue(), c14nContext.getRequesterId()); }
/** {@inheritDoc} */ @Override @Nonnull public String decode(@Nonnull final SubjectCanonicalizationContext c14nContext, @Nonnull final NameIdentifier nameIdentifier) throws NameDecoderException { return super.decode(nameIdentifier.getValue(), c14nContext.getRequesterId()); }
/** * Return true iff the two input {@link NameIdentifier} objects are equivalent for SAML 1.x purposes. * * @param name1 first NameIdentifier to check * @param name2 second NameIdentifier to check * @return true iff the two values should be viewed as equivalent */ public static boolean areNameIdentifiersEquivalent(@Nonnull final NameIdentifier name1, @Nonnull final NameIdentifier name2) { return areNameIdentifierFormatsEquivalent(name1.getFormat(), name2.getFormat()) && Objects.equals(name1.getValue(), name2.getValue()) && Objects.equals(name1.getNameQualifier(), name2.getNameQualifier()); }
/** * Create an efficient field-wise copy of a {@link NameIdentifier}. * * @param nameIdentifier the object to clone * * @return the copy */ @Nonnull private NameIdentifier cloneNameIdentifier(@Nonnull final NameIdentifier nameIdentifier) { final NameIdentifier clone = nameIdentifierBuilder.buildObject(); clone.setFormat(nameIdentifier.getFormat()); clone.setNameQualifier(nameIdentifier.getNameQualifier()); clone.setValue(nameIdentifier.getValue()); return clone; }
/** * Create an efficient field-wise copy of a {@link NameIdentifier}. * * @return the copy */ @Nonnull private NameIdentifier cloneNameIdentifier() { final NameIdentifier clone = nameIdentifierBuilder.buildObject(); clone.setFormat(nameIdentifier.getFormat()); clone.setNameQualifier(nameIdentifier.getNameQualifier()); clone.setValue(nameIdentifier.getValue()); return clone; }
if (nameIdentifier instanceof NameIdentifier) { log.debug("{} Creating Subject for canonicalization around NameIdentifier {}", getLogPrefix(), ((NameIdentifier) nameIdentifier).getValue()); subject = new Subject(false, Collections.singleton(new NameIdentifierPrincipal((NameIdentifier) nameIdentifier)),
return statement.getSubject().getNameIdentifier().getValue(); return statement.getSubject().getNameIdentifier().getValue(); : assertion.getAuthorizationDecisionStatements()) { if (statement.getSubject() != null && statement.getSubject().getNameIdentifier() != null) { return statement.getSubject().getNameIdentifier().getValue(); return statement.getSubject().getNameIdentifier().getValue();
return samlSubject.getNameIdentifier().getValue();
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; }