package eu.eudat.logic.security.customproviders.ConfigurableProvider.entities.saml2; import com.fasterxml.jackson.annotation.JsonValue; import eu.eudat.logic.security.customproviders.ConfigurableProvider.entities.ConfigurableProvider; import java.util.Map; public class Saml2ConfigurableProvider extends ConfigurableProvider { public enum SAML2UsingFormat { NAME("name"), FRIENDLY_NAME("friendly_name"); private String name; SAML2UsingFormat(String name) { this.name = name; } @JsonValue public String getName() { return name; } public static SAML2UsingFormat fromName(String name) { for (SAML2UsingFormat type: SAML2UsingFormat.values()) { if (name.equals(type.getName())) { return type; } } throw new IllegalArgumentException("Unsupported SAML2 Attribute " + name); } } public enum SAML2AttributeType { XSSTRING("XSString"), XSINTEGER("XSInteger"), XSDATETIME("XSDateTime"), XSBOOLEAN("XSBoolean"), XSBASE64BINARY("XSBase64Binary"), XSURI("XSURI"), XSQNAME("XSQName"), XSANY("XSAny"); private String type; SAML2AttributeType(String type) { this.type = type; } @JsonValue public String getType() { return type; } public static SAML2AttributeType fromType(String type) { for (SAML2AttributeType t: SAML2AttributeType.values()) { if (type.equals(t.getType())) { return t; } } throw new IllegalArgumentException("Unsupported SAML2 Attribute Type " + type); } } public enum KeyFormat { JKS("JKS"), PKCS12("PKCS12"); private String type; KeyFormat(String type) { this.type = type; } @JsonValue public String getType() { return type; } public static KeyFormat fromType(String type) { for (KeyFormat t: KeyFormat.values()) { if (type.equals(t.getType())) { return t; } } throw new IllegalArgumentException("Unsupported Keystore format " + type); } } private String spEntityId; private String idpEntityId; private String idpUrl; private String idpArtifactUrl; private String idpMetadataUrl; private boolean assertionEncrypted; private KeyFormat keyFormat; private String keyAlias; private String credentialPath; private String archivePassword; private String keyPassword; private boolean responseSigned; private boolean assertionSigned; private SAML2UsingFormat usingFormat; private Map attributeTypes; private Map configurableUserFromAttributes; private String binding; //private String assertionConsumerServiceUrl; public String getSpEntityId() { return spEntityId; } public void setSpEntityId(String spEntityId) { this.spEntityId = spEntityId; } public String getIdpEntityId() { return idpEntityId; } public void setIdpEntityId(String idpEntityId) { this.idpEntityId = idpEntityId; } public String getIdpUrl() { return idpUrl; } public void setIdpUrl(String idpUrl) { this.idpUrl = idpUrl; } public String getIdpArtifactUrl() { return idpArtifactUrl; } public void setIdpArtifactUrl(String idpArtifactUrl) { this.idpArtifactUrl = idpArtifactUrl; } public String getIdpMetadataUrl() { return idpMetadataUrl; } public void setIdpMetadataUrl(String idpMetadataUrl) { this.idpMetadataUrl = idpMetadataUrl; } public boolean isAssertionEncrypted() { return assertionEncrypted; } public void setAssertionEncrypted(boolean assertionEncrypted) { this.assertionEncrypted = assertionEncrypted; } public KeyFormat getKeyFormat() { return keyFormat; } public void setKeyFormat(KeyFormat keyFormat) { this.keyFormat = keyFormat; } public String getKeyAlias() { return keyAlias; } public void setKeyAlias(String keyAlias) { this.keyAlias = keyAlias; } public String getCredentialPath() { return credentialPath; } public void setCredentialPath(String credentialPath) { this.credentialPath = credentialPath; } public String getArchivePassword() { return archivePassword; } public void setArchivePassword(String archivePassword) { this.archivePassword = archivePassword; } public String getKeyPassword() { return keyPassword; } public void setKeyPassword(String keyPassword) { this.keyPassword = keyPassword; } public boolean isResponseSigned() { return responseSigned; } public void setResponseSigned(boolean responseSigned) { this.responseSigned = responseSigned; } public boolean isAssertionSigned() { return assertionSigned; } public void setAssertionSigned(boolean assertionSigned) { this.assertionSigned = assertionSigned; } public SAML2UsingFormat getUsingFormat() { return usingFormat; } public void setUsingFormat(SAML2UsingFormat usingFormat) { this.usingFormat = usingFormat; } public Map getConfigurableUserFromAttributes() { return configurableUserFromAttributes; } public void setConfigurableUserFromAttributes(Map configurableUserFromAttributes) { this.configurableUserFromAttributes = configurableUserFromAttributes; } public Map getAttributeTypes() { return attributeTypes; } public void setAttributeTypes(Map attributeTypes) { this.attributeTypes = attributeTypes; } public String getBinding() { return binding; } public void setBinding(String binding) { this.binding = binding; } // public String getAssertionConsumerServiceUrl() { // return assertionConsumerServiceUrl; // } // public void setAssertionConsumerServiceUrl(String assertionConsumerServiceUrl) { // this.assertionConsumerServiceUrl = assertionConsumerServiceUrl; // } }