/** * Finalize name id name id. * * @param nameid the nameid * @param authnRequest the authn request * @param assertion the assertion * @param supportedNameFormats the supported name formats * @param service the service * @param adaptor the adaptor * @return the name id */ protected NameID finalizeNameId(final NameID nameid, final RequestAbstractType authnRequest, final Object assertion, final List<String> supportedNameFormats, final SamlRegisteredService service, final SamlRegisteredServiceServiceProviderMetadataFacade adaptor) { if (StringUtils.isNotBlank(service.getNameIdQualifier())) { nameid.setNameQualifier(service.getNameIdQualifier()); } else { val issuer = SamlIdPUtils.getIssuerFromSamlObject(authnRequest); nameid.setNameQualifier(issuer); } if (StringUtils.isNotBlank(service.getServiceProviderNameIdQualifier())) { nameid.setSPNameQualifier(service.getServiceProviderNameIdQualifier()); } else { nameid.setSPNameQualifier(adaptor.getEntityId()); } return nameid; }
/** {@inheritDoc} */ @Override @Nullable protected NameID doGenerate(@Nonnull final ProfileRequestContext profileRequestContext) throws SAMLException { final String identifier = getIdentifier(profileRequestContext); if (identifier == null) { log.debug("No identifier to use"); return null; } log.debug("Generating NameID {} with Format {}", identifier, getFormat()); final NameID nameIdentifier = nameBuilder.buildObject(); nameIdentifier.setValue(identifier); nameIdentifier.setFormat(getFormat()); nameIdentifier.setNameQualifier(getEffectiveIdPNameQualifier(profileRequestContext)); nameIdentifier.setSPNameQualifier(getEffectiveSPNameQualifier(profileRequestContext)); nameIdentifier.setSPProvidedID(getSPProvidedID()); return nameIdentifier; }
/** * Create an efficient field-wise copy of a {@link NameID}. * * @param nameId the object to clone * * @return the copy */ @Nonnull private NameID cloneNameID(@Nonnull final NameID nameId) { final NameID clone = nameIdBuilder.buildObject(); clone.setFormat(nameId.getFormat()); clone.setNameQualifier(nameId.getNameQualifier()); clone.setSPNameQualifier(nameId.getSPNameQualifier()); clone.setSPProvidedID(nameId.getSPProvidedID()); clone.setValue(nameId.getValue()); return clone; }
nameId.setSPNameQualifier(nameIdSPQualifier); } else if (null != attributeRecipientID) { log.debug("{} SPNameQualifier set to '{}'", getLogPrefix(), attributeRecipientID); nameId.setSPNameQualifier(attributeRecipientID); } else { throw new ResolutionException(getLogPrefix() + " provided attribute recipient ID was empty");
/** * Create an efficient field-wise copy of a {@link NameID}. * * @return the copy */ @Nonnull private NameID cloneNameID() { final NameID clone = nameIdBuilder.buildObject(); clone.setFormat(nameId.getFormat()); clone.setNameQualifier(nameId.getNameQualifier()); clone.setSPNameQualifier(nameId.getSPNameQualifier()); clone.setSPProvidedID(nameId.getSPProvidedID()); clone.setValue(nameId.getValue()); return clone; }
@SuppressWarnings("unchecked") public static NameID createNameID(NameIDBean nameIDBean) { if (nameIdBuilder == null) { nameIdBuilder = (SAMLObjectBuilder<NameID>) builderFactory.getBuilder(NameID.DEFAULT_ELEMENT_NAME); } NameID nameID = nameIdBuilder.buildObject(); nameID.setNameQualifier(nameIDBean.getNameQualifier()); nameID.setFormat(nameIDBean.getNameIDFormat()); nameID.setValue(nameIDBean.getNameValue()); nameID.setSPNameQualifier(nameIDBean.getSPNameQualifier()); nameID.setSPProvidedID(nameIDBean.getSPProvidedID()); return nameID; }
nameId.setFormat(profile.getSamlNameIdFormat()); nameId.setNameQualifier(profile.getSamlNameIdNameQualifier()); nameId.setSPNameQualifier(profile.getSamlNameIdSpNameQualifier()); nameId.setSPProvidedID(profile.getSamlNameIdSpProviderId()); request.setNameID(nameId);
nid.setValue(request.getSubject().getPrincipal().getValue()); nid.setFormat(principal.getFormat().toString()); nid.setSPNameQualifier(principal.getSpNameQualifier());
protected org.opensaml.saml.saml2.core.LogoutRequest internalToXml(LogoutRequest request) { org.opensaml.saml.saml2.core.LogoutRequest lr = buildSAMLObject(org.opensaml.saml.saml2.core.LogoutRequest.class); lr.setDestination(request.getDestination().getLocation()); lr.setID(request.getId()); lr.setVersion(SAMLVersion.VERSION_20); org.opensaml.saml.saml2.core.Issuer issuer = buildSAMLObject(org.opensaml.saml.saml2.core.Issuer.class); issuer.setValue(request.getIssuer().getValue()); issuer.setNameQualifier(request.getIssuer().getNameQualifier()); issuer.setSPNameQualifier(request.getIssuer().getSpNameQualifier()); lr.setIssuer(issuer); lr.setIssueInstant(request.getIssueInstant()); lr.setNotOnOrAfter(request.getNotOnOrAfter()); NameID nameID = buildSAMLObject(NameID.class); nameID.setFormat(request.getNameId().getFormat().toString()); nameID.setValue(request.getNameId().getValue()); nameID.setSPNameQualifier(request.getNameId().getSpNameQualifier()); nameID.setNameQualifier(request.getNameId().getNameQualifier()); lr.setNameID(nameID); if (request.getSigningKey() != null) { signObject(lr, request.getSigningKey(), request.getAlgorithm(), request.getDigest()); } return lr; }