/** * Checks that one or more Requested Attributes are present. * * @param attributeConsumingService * @throws ValidationException */ protected void validateRequestedAttributes(AttributeConsumingService attributeConsumingService) throws ValidationException { if (attributeConsumingService.getRequestAttributes() == null || attributeConsumingService.getRequestAttributes().size() == 0) { throw new ValidationException("Must have one or more Requested Attributes."); } } }
private void setClaims(SPSSODescriptor spssoDescriptor, SAMLSSOServiceProviderDO samlssoServiceProviderDO) { List<AttributeConsumingService> services; services = spssoDescriptor.getAttributeConsumingServices(); if (services != null && services.size() > 0) { //assuming that only one AttrbuteComsumingIndex exists AttributeConsumingService service = services.get(0); List<RequestedAttribute> attributes = service.getRequestAttributes(); for (RequestedAttribute attribute : attributes) { //set the values to claims } } else { } }
private void setClaims(SPSSODescriptor spssoDescriptor, SAMLSSOServiceProviderDO samlssoServiceProviderDO){ List<AttributeConsumingService> services = new ArrayList<>(); services = spssoDescriptor.getAttributeConsumingServices(); if (services!=null && services.size()>0) { //assuming that only one AttrbuteComsumingIndex exists AttributeConsumingService service = services.get(0); List<RequestedAttribute> attributes = service.getRequestAttributes(); for (RequestedAttribute attribute : attributes){ //set the values to claims } } else { } } private void setDoSignAssertions (SPSSODescriptor spssoDescriptor, SAMLSSOServiceProviderDO samlssoServiceProviderDO){
/** {@inheritDoc} */ protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject) throws UnmarshallingException { AttributeConsumingService service = (AttributeConsumingService) parentSAMLObject; if (childSAMLObject instanceof ServiceName) { service.getNames().add((ServiceName) childSAMLObject); } else if (childSAMLObject instanceof ServiceDescription) { service.getDescriptions().add((ServiceDescription) childSAMLObject); } else if (childSAMLObject instanceof RequestedAttribute) { service.getRequestAttributes().add((RequestedAttribute) childSAMLObject); } else { super.processChildElement(parentSAMLObject, childSAMLObject); } }
/** * Locates a RequestedAttribute object in metadata that matches a specific Attribute Name * and NameFormat. * * @param service the metadata descriptor to search * @param name Attribute Name to match * @param nameFormat Attribute NameFormat to match * @return a matching RequestedAttribute, or null */ private RequestedAttribute findInMetadata(final AttributeConsumingService service, final String name, final String nameFormat) { final List<RequestedAttribute> requested = service.getRequestAttributes(); for (final RequestedAttribute attr : requested) { if (attr.getName().equals(name)) { final String format = attr.getNameFormat(); if (nameFormat == null || format == null || format.equals(Attribute.UNSPECIFIED) || nameFormat.equals(format)) { return attr; } } } return null; }