package org.jboss.seam.security.external.saml.idp;
import java.util.HashMap;
import java.util.Map;
import org.jboss.seam.security.external.jaxb.samlv2.metadata.SPSSODescriptorType;
import org.jboss.seam.security.external.saml.SamlExternalEntity;
import org.jboss.seam.security.external.saml.SamlProfile;
import org.jboss.seam.security.external.saml.SamlService;
/**
* @author Marcel Kolsteren
*
*/
public class SamlExternalServiceProvider extends SamlExternalEntity
{
private Map<SamlProfile, SamlService> services = new HashMap<SamlProfile, SamlService>();
private boolean wantAssertionsSigned = true;
private boolean authnRequestsSigned;
public SamlExternalServiceProvider(String entityId, SPSSODescriptorType SPSSODescriptor)
{
super(entityId, SPSSODescriptor.getKeyDescriptor());
wantAssertionsSigned = SPSSODescriptor.isWantAssertionsSigned();
authnRequestsSigned = SPSSODescriptor.isAuthnRequestsSigned();
services.put(SamlProfile.SINGLE_SIGN_ON, new SamlService(SamlProfile.SINGLE_SIGN_ON, SPSSODescriptor.getAssertionConsumerService()));
services.put(SamlProfile.SINGLE_LOGOUT, new SamlService(SamlProfile.SINGLE_LOGOUT, SPSSODescriptor.getSingleLogoutService()));
}
public SamlService getService(SamlProfile service)
{
return services.get(service);
}
public boolean isWantAssertionsSigned()
{
return wantAssertionsSigned;
}
public void setWantAssertionsSigned(boolean wantAssertionsSigned)
{
this.wantAssertionsSigned = wantAssertionsSigned;
}
public boolean isAuthnRequestsSigned()
{
return authnRequestsSigned;
}
public void setAuthnRequestsSigned(boolean authnRequestsSigned)
{
this.authnRequestsSigned = authnRequestsSigned;
}
}