protected List<Attribute> getRequestedAttributes(List<RequestedAttribute> attributes) { List<Attribute> result = new LinkedList<>(); for (RequestedAttribute a : ofNullable(attributes).orElse(emptyList())) { result.add( new Attribute() .setFriendlyName(a.getFriendlyName()) .setName(a.getName()) .setNameFormat(AttributeNameFormat.fromUrn(a.getNameFormat())) .setValues(getJavaValues(a.getAttributeValues())) .setRequired(a.isRequired()) ); } return result; }
/** {@inheritDoc} */ protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException { RequestedAttribute requestedAttribute = (RequestedAttribute) samlObject; if (attribute.getLocalName().equals(RequestedAttribute.IS_REQUIRED_ATTRIB_NAME)) { requestedAttribute.setIsRequired(XSBooleanValue.valueOf(attribute.getValue())); } else { super.processAttribute(samlObject, attribute); } } }
StringSupport.trimOrNull(requestedAttribute.getName()))) { log.debug("Saw requested attribute '{}' in metadata AttributeConsumingService for SP: {}", LibertyConstants.SERVICE_TYPE_SSOS, relyingPartyId); if (requestedAttribute.isRequired()) { log.debug("Metadata delegation request attribute indicated it was required"); return DelegationRequest.REQUESTED_REQUIRED;
@Override protected Map<String, Object> getAttributesForSamlRegisteredService(final Map<String, Object> attributes, final SamlRegisteredService service, final ApplicationContext applicationContext, final SamlRegisteredServiceCachingMetadataResolver resolver, final SamlRegisteredServiceServiceProviderMetadataFacade facade, final EntityDescriptor entityDescriptor) { val releaseAttributes = new HashMap<String, Object>(); val sso = facade.getSsoDescriptor(); if (sso != null) { sso.getAttributeConsumingServices().forEach(svc -> svc.getRequestAttributes().stream().filter(attr -> { val name = this.useFriendlyName ? attr.getFriendlyName() : attr.getName(); LOGGER.debug("Checking for requested attribute [{}] in metadata for [{}]", name, service.getName()); return attributes.containsKey(name); }).forEach(attr -> { val name = this.useFriendlyName ? attr.getFriendlyName() : attr.getName(); LOGGER.debug("Found requested attribute [{}] in metadata for [{}]", name, service.getName()); releaseAttributes.put(name, attributes.get(name)); })); } return releaseAttributes; } }
protected AttributeConsumingService getAttributeConsumingService(List<Attribute> attributes) { AttributeConsumingService service = buildSAMLObject(AttributeConsumingService.class); service.setIsDefault(true); service.setIndex(0); List<RequestedAttribute> attrs = new LinkedList<>(); for (Attribute a : attributes) { RequestedAttribute ra = buildSAMLObject(RequestedAttribute.class); ra.setIsRequired(a.isRequired()); ra.setFriendlyName(a.getFriendlyName()); ra.setName(a.getName()); ra.setNameFormat(a.getNameFormat().toString()); attrs.add(ra); } service.getRequestAttributes().addAll(attrs); return service; }
/** {@inheritDoc} */ @Override @Nonnull protected IdPRequestedAttribute newAttribute(@Nonnull final RequestedAttribute input, @Nonnull @NotEmpty final String id) { final IdPRequestedAttribute output = new IdPRequestedAttribute(id); output.setRequired(input.isRequired()); return output; }
.getBuilder(RequestedAttribute.DEFAULT_ELEMENT_NAME); final RequestedAttribute requestAttribute = attrBuilder.buildObject(RequestedAttribute.DEFAULT_ELEMENT_NAME); requestAttribute.setIsRequired(attr.isRequired()); requestAttribute.setName(attr.getName()); requestAttribute.setFriendlyName(attr.getFriendlyName()); requestAttribute.setNameFormat(attr.getNameFormat());