public final SingleSignOnService getIDPSingleSignOnService(final String binding) { final List<SingleSignOnService> services = getIDPSSODescriptor().getSingleSignOnServices(); for (final SingleSignOnService service : services) { if (service.getBinding().equals(binding)) { return service; } } throw new SAMLException("Identity provider has no single sign on service available for the selected profile" + binding); }
/** {@inheritDoc} */ protected void processChildElement(XMLObject parentObject, XMLObject childObject) throws UnmarshallingException { IDPSSODescriptor descriptor = (IDPSSODescriptor) parentObject; if (childObject instanceof SingleSignOnService) { descriptor.getSingleSignOnServices().add((SingleSignOnService) childObject); } else if (childObject instanceof NameIDMappingService) { descriptor.getNameIDMappingServices().add((NameIDMappingService) childObject); } else if (childObject instanceof AssertionIDRequestService) { descriptor.getAssertionIDRequestServices().add((AssertionIDRequestService) childObject); } else if (childObject instanceof AttributeProfile) { descriptor.getAttributeProfiles().add((AttributeProfile) childObject); } else if (childObject instanceof Attribute) { descriptor.getAttributes().add((Attribute) childObject); } else { super.processChildElement(parentObject, childObject); } }
idpdescriptor.getSingleSignOnServices().forEach(sso -> { LOG.debug("[{}] Add SSO binding {}({})", id, sso.getBinding(), sso.getLocation()); this.ssoBindings.put(sso.getBinding(), sso);
singleSignOnServiceRedirect.setBinding(REDIRECT_BINDING); singleSignOnServiceRedirect.setLocation(singleSignOnLocationRedirect); idpssoDescriptor.getSingleSignOnServices().add(singleSignOnServiceRedirect); singleSignOnServicePost.setBinding(POST_BINDING); singleSignOnServicePost.setLocation(singleSignOnLocationPost); idpssoDescriptor.getSingleSignOnServices().add(singleSignOnServicePost); singleSignOnServiceSoap.setBinding(SOAP_BINDING); singleSignOnServiceSoap.setLocation(singleSignOnLocationSoap); idpssoDescriptor.getSingleSignOnServices().add(singleSignOnServiceSoap);
descriptor.getSingleSignOnServices().add(getSingleSignOnService(ep, i));
provider.setManageNameIDService(getEndpoints(desc.getManageNameIDServices())); provider.setWantAuthnRequestsSigned(desc.getWantAuthnRequestsSigned()); provider.setSingleSignOnService(getEndpoints(desc.getSingleSignOnServices())); provider.setKeys(getProviderKeys(descriptor)); provider.setDiscovery(getDiscovery(desc));