package at.asitplus.eidas.specific.modules.auth.idaustria; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import at.asitplus.eidas.specific.core.MsEidasNodeConstants; import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions; import at.gv.egiz.eaaf.core.impl.data.Triple; /** * Constant values for ID Austria authentication module. * * @author tlenz * */ public class IdAustriaAuthConstants { public static final int AUTHPROCESS_EIDAS_AT_PROXYSERVICE_REQUESTED = 6500; public static final int AUTHPROCESS_EIDAS_AT_PROXYSERVICE_RESPONSE_SUCCESS = 6501; public static final int AUTHPROCESS_EIDAS_AT_PROXYSERVICE_RESPONSE_ERROR = 6502; public static final String ERRORTYPE_00 = "module.idaustria.00"; public static final String ERRORTYPE_01 = "module.idaustria.01"; public static final String ERRORTYPE_02 = "module.idaustria.02"; public static final String ERRORTYPE_03 = "module.idaustria.03"; public static final String ERRORTYPE_04 = "module.idaustria.04"; public static final String ERRORTYPE_05 = "module.idaustria.05"; public static final String ERRORTYPE_06 = "module.idaustria.06"; public static final String ERRORTYPE_98 = "module.idaustria.98"; public static final String ERRORTYPE_99 = "module.idaustria.99"; public static final String SAML2_STATUSCODE_USERSTOP = "1005"; public static final int METADATA_VALIDUNTIL_IN_HOURS = 24; public static final String MODULE_NAME_FOR_LOGGING = "ID Austria based eIDAS authentication"; public static final String ENDPOINT_POST = "/sp/idaustria/eidas/post"; public static final String ENDPOINT_REDIRECT = "/sp/idaustria/eidas/redirect"; public static final String ENDPOINT_METADATA = "/sp/idaustria/eidas/metadata"; public static final String CONFIG_PROPS_PREFIX = "modules.idaustriaauth."; public static final String CONFIG_PROPS_IDAUSTRIA_ENTITYID = CONFIG_PROPS_PREFIX + "idp.entityId"; public static final String CONFIG_PROPS_IDAUSTRIA_METADATAURL = CONFIG_PROPS_PREFIX + "idp.metadataUrl"; public static final String CONFIG_PROPS_KEYSTORE_TYPE = CONFIG_PROPS_PREFIX + "keystore.type"; public static final String CONFIG_PROPS_KEYSTORE_NAME = CONFIG_PROPS_PREFIX + "keystore.name"; public static final String CONFIG_PROPS_KEYSTORE_PATH = CONFIG_PROPS_PREFIX + "keystore.path"; public static final String CONFIG_PROPS_KEYSTOREPASSWORD = CONFIG_PROPS_PREFIX + "keystore.password"; public static final String CONFIG_PROPS_SIGN_METADATA_KEY_PASSWORD = CONFIG_PROPS_PREFIX + "metadata.sign.password"; public static final String CONFIG_PROPS_SIGN_METADATA_ALIAS = CONFIG_PROPS_PREFIX + "metadata.sign.alias"; public static final String CONFIG_PROPS_SIGN_SIGNING_KEY_PASSWORD = CONFIG_PROPS_PREFIX + "request.sign.password"; public static final String CONFIG_PROPS_SIGN_SIGNING_ALIAS = CONFIG_PROPS_PREFIX + "request.sign.alias"; public static final String CONFIG_PROPS_ENCRYPTION_KEY_PASSWORD = CONFIG_PROPS_PREFIX + "response.encryption.password"; public static final String CONFIG_PROPS_ENCRYPTION_ALIAS = CONFIG_PROPS_PREFIX + "response.encryption.alias"; public static final String CONFIG_PROPS_TRUSTSTORE_TYPE = CONFIG_PROPS_PREFIX + "truststore.type"; public static final String CONFIG_PROPS_TRUSTSTORE_NAME = CONFIG_PROPS_PREFIX + "truststore.name"; public static final String CONFIG_PROPS_TRUSTSTORE_PATH = CONFIG_PROPS_PREFIX + "truststore.path"; public static final String CONFIG_PROPS_TRUSTSTORE_PASSWORD = CONFIG_PROPS_PREFIX + "truststore.password"; public static final String CONFIG_PROPS_REQUIRED_PVP_ATTRIBUTES_LIST = CONFIG_PROPS_PREFIX + "required.additional.attributes"; /** * SP specific EntityId of the ID Austria. */ public static final String CONFIG_PROPS_APPSPECIFIC_IDAUSTRIA_NODE_URL = "auth.idaustria.entityId"; public static final List> DEFAULT_REQUIRED_PVP_ATTRIBUTES = Collections.unmodifiableList(new ArrayList>() { private static final long serialVersionUID = 1L; { // add PVP Version attribute add(Triple.newInstance(PvpAttributeDefinitions.PVP_VERSION_NAME, PvpAttributeDefinitions.PVP_VERSION_FRIENDLY_NAME, false)); // entity information add(Triple.newInstance(PvpAttributeDefinitions.GIVEN_NAME_NAME, PvpAttributeDefinitions.GIVEN_NAME_FRIENDLY_NAME, true)); add(Triple.newInstance(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, PvpAttributeDefinitions.PRINCIPAL_NAME_FRIENDLY_NAME, true)); add(Triple.newInstance(PvpAttributeDefinitions.BIRTHDATE_NAME, PvpAttributeDefinitions.BIRTHDATE_FRIENDLY_NAME, true)); add(Triple.newInstance(PvpAttributeDefinitions.BPK_NAME, PvpAttributeDefinitions.BPK_FRIENDLY_NAME, true)); // entity metadata information add(Triple.newInstance(PvpAttributeDefinitions.EID_ISSUING_NATION_NAME, PvpAttributeDefinitions.EID_ISSUING_NATION_FRIENDLY_NAME, true)); add(Triple.newInstance(PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME, PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME, false)); // mandate attributes add(Triple.newInstance(PvpAttributeDefinitions.MANDATE_TYPE_NAME, PvpAttributeDefinitions.MANDATE_TYPE_FRIENDLY_NAME, false)); add(Triple.newInstance(PvpAttributeDefinitions.MANDATE_TYPE_OID_NAME, PvpAttributeDefinitions.MANDATE_TYPE_OID_FRIENDLY_NAME, false)); addAll(MsEidasNodeConstants.DEFAULT_REQUIRED_MANDATE_JUR_PVP_ATTRIBUTES); addAll(MsEidasNodeConstants.DEFAULT_REQUIRED_MANDATE_NAT_PVP_ATTRIBUTES); } }); public static final Set DEFAULT_REQUIRED_PVP_ATTRIBUTE_NAMES = DEFAULT_REQUIRED_PVP_ATTRIBUTES.stream() .filter(el -> el.getThird()) .map(el -> el.getFirst()) .collect(Collectors.toSet()); private IdAustriaAuthConstants() { } }