aboutsummaryrefslogtreecommitdiff
path: root/connector/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'connector/src/main/resources')
-rw-r--r--connector/src/main/resources/application.properties26
-rw-r--r--connector/src/main/resources/properties/messages.properties3
-rw-r--r--connector/src/main/resources/properties/messages_de.properties3
-rw-r--r--connector/src/main/resources/properties/status_messages_en.properties3
-rw-r--r--connector/src/main/resources/specific_eIDAS_connector.beans.xml60
-rw-r--r--connector/src/main/resources/templates/countrySelection.html501
-rw-r--r--connector/src/main/resources/templates/eidas_node_forward.html36
-rw-r--r--connector/src/main/resources/templates/error_message.html20
-rw-r--r--connector/src/main/resources/templates/other_login_method.html90
-rw-r--r--connector/src/main/resources/templates/pvp2_post_binding.html4
-rw-r--r--connector/src/main/resources/templates/residency.html251
11 files changed, 706 insertions, 291 deletions
diff --git a/connector/src/main/resources/application.properties b/connector/src/main/resources/application.properties
index 73a258d7..7b624d40 100644
--- a/connector/src/main/resources/application.properties
+++ b/connector/src/main/resources/application.properties
@@ -98,6 +98,32 @@ eidas.ms.auth.eIDAS.szrclient.eidasbind.mds.inject=false
#eidas.ms.auth.eIDAS.authblock.key.password=f/+saJBc3a}*/T^s
+
+#### matching######
+# ZMR communication
+#eidas.ms.auth.eIDAS.zmrclient.endpoint=http://localhost:1234/demozmr
+#eidas.ms.auth.eIDAS.zmrclient.ssl.keyStore.type=jks
+#eidas.ms.auth.eIDAS.zmrclient.ssl.keyStore.path=keys/junit.jks
+#eidas.ms.auth.eIDAS.zmrclient.ssl.keyStore.password=password
+#eidas.ms.auth.eIDAS.zmrclient.ssl.trustStore.path=
+#eidas.ms.auth.eIDAS.zmrclient.ssl.trustStore.password=
+
+#eidas.ms.auth.eIDAS.zmrclient.req.organisation.behoerdennr=jUnit123456
+#eidas.ms.auth.eIDAS.zmrclient.req.update.reason.code=PERS_AENDERN
+#eidas.ms.auth.eIDAS.zmrclient.req.update.reason.text=KITT for eIDAS Matching
+
+# ERnP communication
+#eidas.ms.auth.eIDAS.ernpclient.endpoint=http://localhost:1718/demoernp
+#eidas.ms.auth.eIDAS.ernpclient.req.organisation.behoerdennr=jUnit123456
+#eidas.ms.auth.eIDAS.client.common.ssl.keyStore.type=jks
+#eidas.ms.auth.eIDAS.client.common.ssl.keyStore.path=../keystore/junit_test.jks
+#eidas.ms.auth.eIDAS.client.common.ssl.keyStore.password=password
+#eidas.ms.auth.eIDAS.client.common.ssl.key.alias=meta
+#eidas.ms.auth.eIDAS.client.common.ssl.key.password=password
+
+
+
+
#Raw eIDAS Id data storage
eidas.ms.auth.eIDAS.szrclient.workarounds.eidmapping.revisionlog.active=true
eidas.ms.auth.eIDAS.szrclient.workarounds.use.getidentitylink.for.ida=true
diff --git a/connector/src/main/resources/properties/messages.properties b/connector/src/main/resources/properties/messages.properties
index cc60cd6e..a2aaf95d 100644
--- a/connector/src/main/resources/properties/messages.properties
+++ b/connector/src/main/resources/properties/messages.properties
@@ -47,8 +47,11 @@ gui.countryselection.country.is=Iceland
gui.countryselection.country.is.logo.alt=Iceland-eID
gui.countryselection.country.it=Italy
gui.countryselection.country.it.logo.alt=Italy-eID
+<<<<<<< HEAD
gui.countryselection.country.li=Lichtenstein
gui.countryselection.country.li.logo.alt=Lichtensteinische-eID
+=======
+>>>>>>> 1ad67c91820de1c7f2b2541f8e39752baac197d2
gui.countryselection.country.lt=Lithuania
gui.countryselection.country.lt.logo.alt=Lithuania-eID
gui.countryselection.country.lv=Latvia
diff --git a/connector/src/main/resources/properties/messages_de.properties b/connector/src/main/resources/properties/messages_de.properties
index 6f470ea0..187b7b37 100644
--- a/connector/src/main/resources/properties/messages_de.properties
+++ b/connector/src/main/resources/properties/messages_de.properties
@@ -48,8 +48,11 @@ gui.countryselection.country.is=Island
gui.countryselection.country.is.logo.alt=Isländische-eID
gui.countryselection.country.it=Italien
gui.countryselection.country.it.logo.alt=Italienische-eID
+<<<<<<< HEAD
gui.countryselection.country.li=Lichtenstein
gui.countryselection.country.li.logo.alt=Lichtensteinische-eID
+=======
+>>>>>>> 1ad67c91820de1c7f2b2541f8e39752baac197d2
gui.countryselection.country.lt=Litauen
gui.countryselection.country.lt.logo.alt=Litauische-eID
gui.countryselection.country.lv=Lettland
diff --git a/connector/src/main/resources/properties/status_messages_en.properties b/connector/src/main/resources/properties/status_messages_en.properties
index 80228a47..f07a8705 100644
--- a/connector/src/main/resources/properties/status_messages_en.properties
+++ b/connector/src/main/resources/properties/status_messages_en.properties
@@ -5,7 +5,8 @@ eidas.03=No CitizenCountry available. Can not start eIDAS authentication process
eidas.04=Request contains no sessionToken. Authentication process stops
eidas.05=Received eIDAS response-message is not valid. Reason: {0}
eidas.06=LoA from eIDAS response-message {0} does not match to requested LoA
-eidas.07=eIDAS Response attribute-validation FAILED. Attribute:{0} Reason: {1}
+eidas.07=eIDAS Response attribute-validation FAILED. Attribute:{0} Reason: {1}.
+
config.01=No configuration-file parameter found. Maybe Java SystemD parameter is missing
config.03=Can not load configuration from path {0} (See logs for more details)
diff --git a/connector/src/main/resources/specific_eIDAS_connector.beans.xml b/connector/src/main/resources/specific_eIDAS_connector.beans.xml
index 42fa6360..9861a7c6 100644
--- a/connector/src/main/resources/specific_eIDAS_connector.beans.xml
+++ b/connector/src/main/resources/specific_eIDAS_connector.beans.xml
@@ -11,73 +11,65 @@
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
+
<import resource="specific_eIDAS_core.beans.xml"/>
+ <bean id="msConnectorMessageSource"
+ class="at.asitplus.eidas.specific.connector.config.MsConnectorMessageSource" />
+
<bean id="processEngineSignalController"
- class="at.asitplus.eidas.specific.connector.controller.ProcessEngineSignalController" />
+ class="at.asitplus.eidas.specific.connector.controller.ProcessEngineSignalController" />
<bean id="saml2MetadataGeneration"
class="at.asitplus.eidas.specific.connector.health.Saml2MetadataHealthIndicator">
- <property name="pvpIdpCredentials">
- <ref bean="PVPEndPointCredentialProvider" />
- </property>
+ <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" />
</bean>
<bean id="PVPEndPointConfiguration"
- class="at.asitplus.eidas.specific.connector.config.PvpEndPointConfiguration" />
+ class="at.asitplus.eidas.specific.connector.config.PvpEndPointConfiguration" />
<bean id="PVPEndPointCredentialProvider"
- class="at.asitplus.eidas.specific.connector.provider.PvpEndPointCredentialProvider" />
+ class="at.asitplus.eidas.specific.connector.provider.PvpEndPointCredentialProvider" />
<bean id="PVPMetadataConfigurationFactory"
- class="at.asitplus.eidas.specific.connector.provider.PvpMetadataConfigurationFactory" />
+ class="at.asitplus.eidas.specific.connector.provider.PvpMetadataConfigurationFactory" />
<bean id="pvp2SProfileEndpoint"
- class="at.asitplus.eidas.specific.connector.controller.Pvp2SProfileEndpoint">
- <property name="pvpIdpCredentials">
- <ref bean="PVPEndPointCredentialProvider" />
- </property>
- <property name="metadataProvider">
- <ref bean="PVPMetadataProvider" />
- </property>
+ class="at.asitplus.eidas.specific.connector.controller.Pvp2SProfileEndpoint">
+ <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" />
+ <property name="metadataProvider" ref="PVPMetadataProvider" />
</bean>
<bean id="AuthnRequestValidator"
- class="at.asitplus.eidas.specific.connector.verification.AuthnRequestValidator" />
+ class="at.asitplus.eidas.specific.connector.verification.AuthnRequestValidator" />
- <bean id="SAMLVerificationEngine"
- class="at.gv.egiz.eaaf.modules.pvp2.impl.verification.SamlVerificationEngine" />
+ <!-- bean id="SAMLVerificationEngine"
+ class="at.gv.egiz.eaaf.modules.pvp2.impl.verification.SamlVerificationEngine" /-->
<bean id="pvpMetadataService"
- class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.MetadataAction">
- <property name="pvpIdpCredentials">
- <ref bean="PVPEndPointCredentialProvider" />
- </property>
+ class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.MetadataAction">
+ <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" />
</bean>
<bean id="PVPAuthenticationRequestAction"
- class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.AuthenticationAction">
- <property name="pvpIdpCredentials">
- <ref bean="PVPEndPointCredentialProvider" />
- </property>
- <property name="metadataProvider">
- <ref bean="PVPMetadataProvider" />
- </property>
+ class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.AuthenticationAction">
+ <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" />
+ <property name="metadataProvider" ref="PVPMetadataProvider" />
</bean>
<bean id="PVPMetadataProvider"
- class="at.asitplus.eidas.specific.connector.provider.PvpMetadataProvider" />
+ class="at.asitplus.eidas.specific.connector.provider.PvpMetadataProvider" />
<bean id="PVPSubjectNameGenerator"
- class="at.asitplus.eidas.specific.connector.builder.PvpSubjectNameGenerator" />
+ class="at.asitplus.eidas.specific.connector.builder.PvpSubjectNameGenerator" />
<!-- Tasks -->
<bean id="GenerateCountrySelectionFrameTask"
- class="at.asitplus.eidas.specific.connector.processes.tasks.GenerateCountrySelectionFrameTask"
- scope="prototype" />
+ class="at.asitplus.eidas.specific.connector.processes.tasks.GenerateCountrySelectionFrameTask"
+ scope="prototype" />
<bean id="EvaluateCountrySelectionTask"
- class="at.asitplus.eidas.specific.connector.processes.tasks.EvaluateCountrySelectionTask"
- scope="prototype" />
+ class="at.asitplus.eidas.specific.connector.processes.tasks.EvaluateCountrySelectionTask"
+ scope="prototype" />
</beans> \ No newline at end of file
diff --git a/connector/src/main/resources/templates/countrySelection.html b/connector/src/main/resources/templates/countrySelection.html
index 3937b464..14457210 100644
--- a/connector/src/main/resources/templates/countrySelection.html
+++ b/connector/src/main/resources/templates/countrySelection.html
@@ -3,254 +3,267 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="fragments/base"
th:with="lang=${#locale.language}" th:lang="${lang}">
-
<head>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="stylesheet" href="$contextPath/static/css/css_country.css" th:href="@{/static/css/css_country.css}"/>
- <script type="text/javascript" src="$contextPath/static/js/js_country.js" th:attr="src=@{/static/static/js/js_country.js}"></script>
- <title th:text="#{gui.countryselection.title}">eIDAS-Login Länderauswahl</title>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="../../webapp/css/css_country.css" th:href="@{/static/css/css_country.css}"/>
+ <script type="text/javascript" src="../../webapp/js/js_country.js"
+ th:attr="src=@{/static/js/js_country.js}"></script>
+ <title th:text="#{gui.countryselection.title}">eIDAS-Login Länderauswahl</title>
</head>
-
<body>
- <div id="page">
- <div class="languageselection" th:include="language_selection :: selectlanguage">
- LanguageSelectionBlock
- </div>
-
- <h2 th:text="#{gui.countryselection.header.selection}"> Select your country </h2>
- <div id="country">
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Belgium-EU.png" alt="Belgium-eID"
- th:attr="src=@{img/countries/Belgium-EU.png},alt=#{gui.countryselection.country.be.logo.alt}"/></a>
- <input type="submit" value="Belgium" th:attr="value=#{gui.countryselection.country.be}">
- <input type="hidden" name="selectedCountry" value="BE">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Bulgaria-EU.png" alt="Bulgaria-eID"
- th:attr="src=@{img/countries/Bulgaria-EU.png},alt=#{gui.countryselection.country.bg.logo.alt}"/></a>
- <input type="submit" value="Bulgaria" th:attr="value=#{gui.countryselection.country.bg}" >
- <input type="hidden" name="selectedCountry" value="BG">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Croatia-EU.png" alt="Croatia-eID"
- th:attr="src=@{img/countries/Croatia-EU.png},alt=#{gui.countryselection.country.hr.logo.alt}"/></a>
- <input type="submit" value="Croatia" th:attr="value=#{gui.countryselection.country.hr}">
- <input type="hidden" name="selectedCountry" value="HR">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Cyprus-EU.png" alt="Cyprus-eID"
- th:attr="src=@{img/countries/Cyprus-EU.png},alt=#{gui.countryselection.country.cy.logo.alt}"/></a>
- <input type="submit" value="Cyprus" th:attr="value=#{gui.countryselection.country.cy}">
- <input type="hidden" name="selectedCountry" value="CY">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/CzechRepublic-EU.png" alt="CzechRepublic-eID"
- th:attr="src=@{img/countries/CzechRepublic-EU.png},alt=#{gui.countryselection.country.cz.logo.alt}"/></a>
- <input type="submit" value="CzechRepublic" th:attr="value=#{gui.countryselection.country.cz}">
- <input type="hidden" name="selectedCountry" value="CZ">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Denmark-EU.png" alt="Denmark-eID"
- th:attr="src=@{img/countries/Denmark-EU.png},alt=#{gui.countryselection.country.dk.logo.alt}"/></a>
- <input type="submit" value="Denmark" th:attr="value=#{gui.countryselection.country.dk}">
- <input type="hidden" name="selectedCountry" value="DK">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/germany-eu_.png" alt="Germany-eID"
- th:attr="src=@{img/countries/germany-eu_.png},alt=#{gui.countryselection.country.de.logo.alt}"/></a>
- <input type="submit" role="button" value="Deutschland / Germany" th:attr="value=#{gui.countryselection.country.de}" />
- <input type="hidden" name="selectedCountry" value="DE">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Estonia-EU.png" alt="Estonia-eID"
- th:attr="src=@{img/countries/Estonia-EU.png},alt=#{gui.countryselection.country.ee.logo.alt}"/></a>
- <input type="submit" value="Estonia" th:attr="value=#{gui.countryselection.country.ee}">
- <input type="hidden" name="selectedCountry" value="EE">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Finland-EU.png" alt="Finland-eID"
- th:attr="src=@{img/countries/Finland-EU.png},alt=#{gui.countryselection.country.fi.logo.alt}"/></a>
- <input type="submit" value="Finland" th:attr="value=#{gui.countryselection.country.fi}">
- <input type="hidden" name="selectedCountry" value="FI">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/France-EU.png" alt="France-eID"
- th:attr="src=@{img/countries/France-EU.png},alt=#{gui.countryselection.country.fr.logo.alt}"/></a>
- <input type="submit" value="France" th:attr="value=#{gui.countryselection.country.fr}">
- <input type="hidden" name="selectedCountry" value="FR">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Greece-EU.png" alt="Greece-eID"
- th:attr="src=@{img/countries/Greece-EU.png},alt=#{gui.countryselection.country.gr.logo.alt}"/></a>
- <input type="submit" value="Greece" th:attr="value=#{gui.countryselection.country.gr}">
- <input type="hidden" name="selectedCountry" value="GR">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Hungary-EU.png" alt="Hungary-eID"
- th:attr="src=@{img/countries/Hungary-EU.png},alt=#{gui.countryselection.country.hu.logo.alt}"/></a>
- <input type="submit" value="Hungary" th:attr="value=#{gui.countryselection.country.hu}">
- <input type="hidden" name="selectedCountry" value="HU">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Ireland-EU.png" alt="Ireland-eID"
- th:attr="src=@{img/countries/Iceland.png},alt=#{gui.countryselection.country.is.logo.alt}"/></a>
- <input type="submit" value="Ireland" th:attr="value=#{gui.countryselection.country.is}"/>
- <input type="hidden" name="selectedCountry" value="IS">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Ireland-EU.png" alt="Ireland-eID"
- th:attr="src=@{img/countries/Ireland-EU.png},alt=#{gui.countryselection.country.ir.logo.alt}"/></a>
- <input type="submit" value="Ireland" th:attr="value=#{gui.countryselection.country.ir}">
- <input type="hidden" name="selectedCountry" value="IE">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Italy-EU.png" alt="Italy-eID"
- th:attr="src=@{img/countries/Italy-EU.png},alt=#{gui.countryselection.country.it.logo.alt}"/></a>
- <input type="submit" value="Italy" th:attr="value=#{gui.countryselection.country.it}">
- <input type="hidden" name="selectedCountry" value="IT">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Latvia-EU.png" alt="Latvia-eID"
- th:attr="src=@{img/countries/Latvia-EU.png},alt=#{gui.countryselection.country.lv.logo.alt}"/></a>
- <input type="submit" value="Latvia" th:attr="value=#{gui.countryselection.country.lv}">
- <input type="hidden" name="selectedCountry" value="LV">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Luxembourg-EU.png" alt="Luxembourg-eID"
- th:attr="src=@{img/countries/Luxembourg-EU.png},alt=#{gui.countryselection.country.lu.logo.alt}"/></a>
- <input type="submit" value="Luxembourg" th:attr="value=#{gui.countryselection.country.lu}">
- <input type="hidden" name="selectedCountry" value="LT">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Luxembourg-EU.png" alt="Luxembourg-eID"
- th:attr="src=@{img/countries/Luxembourg-EU.png},alt=#{gui.countryselection.country.lu.logo.alt}"/></a>
- <input type="submit" value="Luxembourg" th:attr="value=#{gui.countryselection.country.lu}">
- <input type="hidden" name="selectedCountry" value="LU">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Malta-EU.png" alt="Malta-eID"
- th:attr="src=@{img/countries/Malta-EU.png},alt=#{gui.countryselection.country.mt.logo.alt}"/></a>
- <input type="submit" value="Malta" th:attr="value=#{gui.countryselection.country.mt}">
- <input type="hidden" name="selectedCountry" value="MT">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/TheNetherlands-EU_.png" alt="Netherlands-eID"
- th:attr="src=@{img/countries/TheNetherlands-EU_.png},alt=#{gui.countryselection.country.nl.logo.alt}"/></a>
- <input type="submit" value="Netherlands" th:attr="value=#{gui.countryselection.country.nl}">
- <input type="hidden" name="selectedCountry" value="NL">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Poland-EU.png" alt="Poland-eID"
- th:attr="src=@{img/countries/Poland-EU.png},alt=#{gui.countryselection.country.pl.logo.alt}"/></a>
- <input type="submit" value="Poland" th:attr="value=#{gui.countryselection.country.pl}">
- <input type="hidden" name="selectedCountry" value="PL">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Portugal-EU.png" alt="Portugal-eID"
- th:attr="src=@{img/countries/Portugal-EU.png},alt=#{gui.countryselection.country.pt.logo.alt}"/></a>
- <input type="submit" value="Portugal" th:attr="value=#{gui.countryselection.country.pt}">
- <input type="hidden" name="selectedCountry" value="PT">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Romania-EU.png" alt="Romania-eID"
- th:attr="src=@{img/countries/Romania-EU.png},alt=#{gui.countryselection.country.ro.logo.alt}"/></a>
- <input type="submit" value="Romania" th:attr="value=#{gui.countryselection.country.ro}">
- <input type="hidden" name="selectedCountry" value="RO">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Slovakia-EU.png" alt="Slovakia-eID"
- th:attr="src=@{img/countries/Slovakia-EU.png},alt=#{gui.countryselection.country.sk.logo.alt}"/></a>
- <input type="submit" value="Slovakia" th:attr="value=#{gui.countryselection.country.sk}">
- <input type="hidden" name="selectedCountry" value="SK">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Slovenia-EU.png" alt="Slovenia-eID"
- th:attr="src=@{img/countries/Slovenia-EU.png},alt=#{gui.countryselection.country.si.logo.alt}"/></a>
- <input type="submit" value="Slovenia" th:attr="value=#{gui.countryselection.country.si}">
- <input type="hidden" name="selectedCountry" value="SI">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Spain-EU.png" alt="Spain-eID"
- th:attr="src=@{img/countries/Spain-EU.png},alt=#{gui.countryselection.country.es.logo.alt}"/></a>
- <input type="submit" value="Spain" th:attr="value=#{gui.countryselection.country.es}">
- <input type="hidden" name="selectedCountry" value="ES">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/Sweden-EU.png" alt="Sweden-eID"
- th:attr="src=@{img/countries/Sweden-EU.png},alt=#{gui.countryselection.country.se.logo.alt}"/></a>
- <input type="submit" value="Sweden" th:attr="value=#{gui.countryselection.country.se}">
- <input type="hidden" name="selectedCountry" value="SE">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint">
- <a><img class="countryimage" src="$contextPath/img/countries/UnitedKingdom-EU.png" alt="UnitedKingdom-eID"
- th:attr="src=@{img/countries/UnitedKingdom-EU.png},alt=#{gui.countryselection.country.uk.logo.alt}"/></a>
- <input type="submit" value="United Kingdom" th:attr="value=#{gui.countryselection.country.uk}">
- <input type="hidden" name="selectedCountry" value="UK">
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" />
- </form>
-
- <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
- <input type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel" th:attr="value=#{gui.countryselection.cancle}">
- <input type="hidden" name="stopAuthProcess" value="true" >
- <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}">
- </form>
+<div class="header container">
+ <div class="titlebar">
+ <div>
+ <a href="https://www.bmi.gv.at/" target="_blank" title="Home">
+ <img class="toplogo img-responsive" src="/static/BMI.png" alt="Logo BMI"
+ th:attr="alt=#{gui.countryselection.logo.bmi.alt}">
+ <h1 class="hidden" th:text="#{gui.countryselection.header1}"> Bundesministerium für Inneres </h1>
+ </a>
</div>
+ <ul class="nav_oben">
+ <li>
+ <div class="languageselection" th:include="language_selection :: selectlanguage">
+ LanguageSelectionBlock
+ </div>
+ </li>
+ &nbsp; &nbsp;
+ <li><a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.link.bmi}"> Startseite
+ BMI </a></li>
+ </ul>
+ </div>
+</div>
+<div class="content">
+ <div class="subtitle">
+ <h1 th:text="#{gui.countryselection.header2}"> Zentraler eIDAS Knoten der Republik Österreich </h1>
+ <h2 th:text="#{gui.countryselection.header3}"> Betrieben durch das Bundesministerium für Inneres </h2>
</div>
+
+ <h1 th:text="#{gui.countryselection.header.selection}"> Wählen Sie Ihr Land / Select your country </h1>
+
+ <div id="country">
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/germany-eu_.png" alt="Germany-eID"
+ th:attr="src=@{/img/countries/germany-eu_.png},alt=#{gui.countryselection.country.de.logo.alt}"/></a>
+ <input type="submit" role="button" value="Deutschland / Germany"
+ th:attr="value=#{gui.countryselection.country.de}"/>
+ <input type="hidden" name="selectedCountry" value="DE">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ <select id="testEnvironment" name="selectedEnvironment">
+ <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>
+ <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>
+ <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>
+ <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>
+ </select>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Belgium-EU_gray.png" alt="Belgium-eID"
+ th:attr="src=@{img/countries/Belgium-EU_gray.png},alt=#{gui.countryselection.country.be.logo.alt}"/></a>
+ <input type="submit" value="Belgium" th:attr="value=#{gui.countryselection.country.be}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Bulgaria-EU_gray.png"
+ alt="Bulgaria-eID"
+ th:attr="src=@{/img/countries/Bulgaria-EU_gray.png},alt=#{gui.countryselection.country.bg.logo.alt}"/></a>
+ <input type="submit" value="Bulgaria" th:attr="value=#{gui.countryselection.country.bg}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Croatia-EU_gray.png" alt="Croatia-eID"
+ th:attr="src=@{/img/countries/Croatia-EU_gray.png},alt=#{gui.countryselection.country.hr.logo.alt}"/></a>
+ <input type="submit" value="Croatia" th:attr="value=#{gui.countryselection.country.hr}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Cyprus-EU_gray.png" alt="Cyprus-eID"
+ th:attr="src=@{/img/countries/Cyprus-EU_gray.png},alt=#{gui.countryselection.country.cy.logo.alt}"/></a>
+ <input type="submit" value="Cyprus" th:attr="value=#{gui.countryselection.country.cy}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/CzechRepublic-EU_gray.png"
+ alt="CzechRepublic-eID"
+ th:attr="src=@{/img/countries/CzechRepublic-EU_gray.png},alt=#{gui.countryselection.country.cz.logo.alt}"/></a>
+ <input type="submit" value="CzechRepublic" th:attr="value=#{gui.countryselection.country.cz}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Denmark-EU_gray.png" alt="Denmark-eID"
+ th:attr="src=@{/img/countries/Denmark-EU_gray.png},alt=#{gui.countryselection.country.dk.logo.alt}"/></a>
+ <input type="submit" value="Denmark" th:attr="value=#{gui.countryselection.country.dk}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Estonia-EU_gray.png" alt="Estonia-eID"
+ th:attr="src=@{/img/countries/Estonia-EU_gray.png},alt=#{gui.countryselection.country.ee.logo.alt}"/></a>
+ <input type="submit" value="Estonia" th:attr="value=#{gui.countryselection.country.ee}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Finland-EU_gray.png" alt="Finland-eID"
+ th:attr="src=@{/img/countries/Finland-EU_gray.png},alt=#{gui.countryselection.country.fi.logo.alt}"/></a>
+ <input type="submit" value="Finland" th:attr="value=#{gui.countryselection.country.fi}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/France-EU_gray.png" alt="France-eID"
+ th:attr="src=@{/img/countries/France-EU_gray.png},alt=#{gui.countryselection.country.fr.logo.alt}"/></a>
+ <input type="submit" value="France" th:attr="value=#{gui.countryselection.country.fr}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Greece-EU_gray.png" alt="Greece-eID"
+ th:attr="src=@{/img/countries/Greece-EU_gray.png},alt=#{gui.countryselection.country.gr.logo.alt}"/></a>
+ <input type="submit" value="Greece" th:attr="value=#{gui.countryselection.country.gr}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Hungary-EU_gray.png" alt="Hungary-eID"
+ th:attr="src=@{/img/countries/Hungary-EU_gray.png},alt=#{gui.countryselection.country.hu.logo.alt}"/></a>
+ <input type="submit" value="Hungary" th:attr="value=#{gui.countryselection.country.hu}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Ireland-EU_gray.png" alt="Ireland-eID"
+ th:attr="src=@{/img/countries/Ireland-EU_gray.png},alt=#{gui.countryselection.country.ir.logo.alt}"/></a>
+ <input type="submit" value="Ireland" th:attr="value=#{gui.countryselection.country.ir}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Italy-EU_gray.png" alt="Italy-eID"
+ th:attr="src=@{/img/countries/Italy-EU_gray.png},alt=#{gui.countryselection.country.it.logo.alt}"/></a>
+ <input type="submit" value="Italy" th:attr="value=#{gui.countryselection.country.it}">
+ <select id="testEnvironment" name="selectedEnvironment">
+ <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>
+ <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>
+ <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>
+ <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>
+ </select>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Latvia-EU_gray.png" alt="Latvia-eID"
+ th:attr="src=@{/img/countries/Latvia-EU_gray.png},alt=#{gui.countryselection.country.lv.logo.alt}"/></a>
+ <input type="submit" value="Latvia" th:attr="value=#{gui.countryselection.country.lv}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Luxembourg-EU_gray.png"
+ alt="Luxembourg-eID"
+ th:attr="src=@{/img/countries/Luxembourg-EU_gray.png},alt=#{gui.countryselection.country.lu.logo.alt}"/></a>
+ <input type="submit" value="Luxembourg" th:attr="value=#{gui.countryselection.country.lu}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Malta-EU_gray.png" alt="Malta-eID"
+ th:attr="src=@{/img/countries/Malta-EU_gray.png},alt=#{gui.countryselection.country.mt.logo.alt}"/></a>
+ <input type="submit" value="Malta" th:attr="value=#{gui.countryselection.country.mt}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Poland-EU_gray.png" alt="Poland-eID"
+ th:attr="src=@{/img/countries/Poland-EU_gray.png},alt=#{gui.countryselection.country.pl.logo.alt}"/></a>
+ <input type="submit" value="Poland" th:attr="value=#{gui.countryselection.country.pl}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Portugal-EU_gray.png" alt="Portugal-eID"
+ th:attr="src=@{/img/countries/Portugal-EU_gray.png},alt=#{gui.countryselection.country.pt.logo.alt}"/></a>
+ <input type="submit" value="Portugal" th:attr="value=#{gui.countryselection.country.pt}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Romania-EU_gray.png" alt="Romania-eID"
+ th:attr="src=@{/img/countries/Romania-EU_gray.png},alt=#{gui.countryselection.country.ro.logo.alt}"/></a>
+ <input type="submit" value="Romania" th:attr="value=#{gui.countryselection.country.ro}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Slovakia-EU_gray.png"
+ alt="Slovakia-eID"
+ th:attr="src=@{/img/countries/Slovakia-EU_gray.png},alt=#{gui.countryselection.country.sk.logo.alt}"/></a>
+ <input type="submit" value="Slovakia" th:attr="value=#{gui.countryselection.country.sk}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Slovenia-EU_gray.png" alt="Slovenia-eID"
+ th:attr="src=@{/img/countries/Slovenia-EU_gray.png},alt=#{gui.countryselection.country.si.logo.alt}"/></a>
+ <input type="submit" value="Slovenia" th:attr="value=#{gui.countryselection.country.si}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/Spain-EU_gray.png" alt="Spain-eID"
+ th:attr="src=@{/img/countries/Spain-EU_gray.png},alt=#{gui.countryselection.country.es.logo.alt}"/></a>
+ <input type="submit" value="Spain" th:attr="value=#{gui.countryselection.country.es}">
+ <select id="testEnvironment" name="selectedEnvironment">
+ <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>
+ <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>
+ <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>
+ <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>
+ </select>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/Sweden-EU_gray.png" alt="Sweden-eID"
+ th:attr="src=@{/img/countries/Sweden-EU_gray.png},alt=#{gui.countryselection.country.se.logo.alt}"/></a>
+ <input type="submit" value="Sweden" th:attr="value=#{gui.countryselection.country.se}" disabled>
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img class="countryimage" src="../../webapp/img/countries/TheNetherlands-EU_gray.jpg"
+ alt="TheNetherlands-eID"
+ th:attr="src=@{/img/countries/TheNetherlands-EU_gray.jpg},alt=#{gui.countryselection.country.nl.logo.alt}"/></a>
+ <input type="submit" value="Netherlands" th:attr="value=#{gui.countryselection.country.nl}">
+ </form>
+
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <a><img disabled class="countryimage" src="../../webapp/img/countries/UnitedKingdom-EU_gray.png"
+ alt="UnitedKingdom-eID"
+ th:attr="src=@{/img/countries/UnitedKingdom-EU_gray.png},alt=#{gui.countryselection.country.uk.logo.alt}"/></a>
+ <input type="submit" value="United Kingdom" th:attr="value=#{gui.countryselection.country.uk}" disabled>
+ </form>
+
+ </div>
+
+ <!-- Abbrechen Button -->
+ <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <input type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel"
+ th:attr="value=#{gui.countryselection.cancel}">
+ <input type="hidden" name="stopAuthProcess" value="true">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}">
+ </form>
+
+ <p th:text="#{gui.countryselection.notsupportedinfo}">Wenn Sie Ihr Land in dieser Aufzählung nicht entdecken
+ ... </p>
+
+ <h2 th:text="#{gui.countryselection.infos.general.header}"> Information zur Anmeldung über Europäische eIDs </h2>
+ <p>
+ <span th:text="#{gui.countryselection.infos.general.part.1}"> first part </span>
+ <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.header1}"> Bundesministerium
+ für Inneres </a>
+ <span th:text="#{gui.countryselection.infos.general.part.2}"> second part </span>
+ </p>
+
+ <p>
+ <span th:text="#{gui.countryselection.infos.general.part.3}"> third part </span>
+ <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32014R0910&from=DE" target="_blank"
+ th:text="#{gui.countryselection.infos.general.link.1}"> eIDAS-Verordnung der Europäischen Union </a>
+ <span th:text="#{gui.countryselection.infos.general.part.4}"> fourth part </span>
+ </p>
+
+ <p>
+ <span th:text="#{gui.countryselection.infos.general.part.5}"> fived part </span>
+ <a href="https://www.dsb.gv.at/-/das-erganzungsregister-fur-naturliche-personen-ernp-" target="_blank"
+ th:text="#{gui.countryselection.infos.general.link.2}"></a>
+ <span th:text="#{gui.countryselection.infos.general.part.6}"> sixed part </span>
+ </p>
+
+</div>
+<footer>
+ <div class="copyright">&copy; BUNDESMINISTERIUM FÜR INNERES</div>
+ <div></div>
+</footer>
</body>
</html>
diff --git a/connector/src/main/resources/templates/eidas_node_forward.html b/connector/src/main/resources/templates/eidas_node_forward.html
new file mode 100644
index 00000000..3cd30d36
--- /dev/null
+++ b/connector/src/main/resources/templates/eidas_node_forward.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org"
+ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+ layout:decorator="fragments/base"
+ th:with="lang=${#locale.language}" th:lang="${lang}">
+<head>
+ <script src="../../webapp/autocommit.js"
+ th:attr="src=@{/autocommit.js}"></script>
+</head>
+<body>
+ <noscript>
+ <p>
+ <strong>Note:</strong> Since your browser does not support
+ JavaScript, you must press the Continue button once to proceed.
+ </p>
+ </noscript>
+
+ <div id="alert">Your login is being processed. Thank you for
+ waiting.</div>
+
+ <form action="${endPoint}" method="post" target="_parent"
+ th:attr="action=@{${endPoint}}">
+ <div>
+ <input type="hidden" name="${tokenName}" value="${tokenValue}"
+ th:attr="value=${tokenValue},name=${tokenName}" />
+ </div>
+ <noscript>
+ <div>
+ <p>Your browser does not support JavaScript. Click the button to continuing the process .</p>
+ <input type="submit" value="Continue" />
+ </div>
+ </noscript>
+ </form>
+
+</body>
+</html> \ No newline at end of file
diff --git a/connector/src/main/resources/templates/error_message.html b/connector/src/main/resources/templates/error_message.html
index 86f9d29d..c5f1ebb3 100644
--- a/connector/src/main/resources/templates/error_message.html
+++ b/connector/src/main/resources/templates/error_message.html
@@ -3,10 +3,10 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="fragments/base"
th:with="lang=${#locale.language}" th:lang="${lang}">
-
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <link rel="stylesheet" href="$contextPath/css/css_error.css" th:href="@{/css/css_error.css}" />
-
+ <link rel="stylesheet" href="../../webapp/css/css_error.css" th:href="@{/css/css_error.css}" />
+
<title th:text="#{gui.errorpage.msg.title}">An error arise ... </title>
</head>
@@ -14,21 +14,21 @@
<div id="page">
<div id="page1" class="case selected-case" role="main">
<h2 class="OA_header" role="heading">Authentication error arise</h2>
-
+
<div class="hell" role="application" >
<h2 class="OA_header" role="heading" th:text="#{gui.errorpage.msg.title}">Error Header</h2>
-
+
<div id="alert_area" class="hell" role="application" >
<p th:text="#{gui.errorpage.msg.information}">Error Information</p>
<br/>
- <p><b th:text="#{gui.errorpage.msg.errorcode}">Code :</b> <span th:text="${errorCode}"></span></p>
+ <p><b th:text="#{gui.errorpage.msg.errorcode}">Code :</b> <span th:text="${errorCode}"></span></p>
<p><b th:text="#{gui.errorpage.msg.errormsg}">Msg :</b > <span th:text="${#messages.msgWithParams('__${errorCode}__', '__${errorParams}__')}"></span></p>
- </div>
- <!-- errorMsg -->
- </div>
+ </div>
+ <!-- errorMsg -->
+ </div>
<div th:if="${stacktrace}">
- <p><b th:text="#{gui.errorpage.msg.stacktrace}">fullError</b> <span th:text="${stacktrace}"></span></p>
+ <p><b th:text="#{gui.errorpage.msg.stacktrace}">fullError</b> <span th:text="${stacktrace}"></span></p>
</div>
</div>
diff --git a/connector/src/main/resources/templates/other_login_method.html b/connector/src/main/resources/templates/other_login_method.html
new file mode 100644
index 00000000..e5f03712
--- /dev/null
+++ b/connector/src/main/resources/templates/other_login_method.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org"
+ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+ layout:decorator="fragments/base"
+ th:with="lang=${#locale.language}" th:lang="${lang}">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="../../webapp/css/css_country.css" th:href="@{/static/css/css_country.css}"/>
+ <title th:text="#{gui.otherlogin.title}">eIDAS-Login Other Login Methods</title>
+ <style>
+ .block {
+ width: 100%;
+ }
+ button {
+ padding: 0.5em;
+ margin: 0.5em;
+ width: 20em;
+ }
+ </style>
+</head>
+<body>
+<div class="header container">
+ <div class="titlebar">
+ <div>
+ <a href="https://www.bmi.gv.at/" target="_blank" title="Home">
+ <img class="toplogo img-responsive" src="/static/BMI.png" alt="Logo BMI"
+ th:attr="alt=#{gui.countryselection.logo.bmi.alt}">
+ <h1 class="hidden" th:text="#{gui.countryselection.header1}"> Bundesministerium für Inneres </h1>
+ </a>
+ </div>
+ <ul class="nav_oben">
+ <li>
+ <div class="languageselection" th:include="language_selection :: selectlanguage">
+ LanguageSelectionBlock
+ </div>
+ </li>
+ &nbsp; &nbsp;
+ <li>
+ <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.link.bmi}">Startseite
+ BMI </a>
+ </li>
+ </ul>
+ </div>
+</div>
+<div class="content">
+ <div class="subtitle">
+ <h1 th:text="#{gui.countryselection.header2}"> Zentraler eIDAS Knoten der Republik Österreich </h1>
+ <h2 th:text="#{gui.countryselection.header3}"> Betrieben durch das Bundesministerium für Inneres </h2>
+ </div>
+
+ <h1 th:text="#{gui.otherlogin.header.selection}"> Select an alternative login method </h1>
+
+ <div id="otherlogin" class="block">
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" role="button" value="Handy-Signatur / Mobile Signature"
+ th:text="#{gui.otherlogin.hs}">A
+ </button>
+ <input type="hidden" name="loginSelection" value="MOBILE_PHONE_SIGNATURE_LOGIN">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ </form>
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" role="button" value="Andere eIDAS ID" th:text="#{gui.otherlogin.eidas}">B
+ </button>
+ <input type="hidden" name="loginSelection" value="EIDAS_LOGIN">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ </form>
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" role="button" value="Keine weitere HS / eIDAS"
+ th:text="#{gui.otherlogin.none}">C
+ </button>
+ <input type="hidden" name="loginSelection" value="NO_OTHER_LOGIN">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ </form>
+ </div>
+
+ <!-- Abbrechen Button -->
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" value="Abbrechen/Cancel" th:text="#{gui.otherlogin.cancel}"></button>
+ <input type="hidden" name="stopAuthProcess" value="true">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}">
+ </form>
+
+</div>
+<footer>
+ <div class="copyright">&copy; BUNDESMINISTERIUM FÜR INNERES</div>
+ <div></div>
+</footer>
+</body>
+</html>
diff --git a/connector/src/main/resources/templates/pvp2_post_binding.html b/connector/src/main/resources/templates/pvp2_post_binding.html
index 90858237..06b9b494 100644
--- a/connector/src/main/resources/templates/pvp2_post_binding.html
+++ b/connector/src/main/resources/templates/pvp2_post_binding.html
@@ -6,7 +6,7 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <script src="$contextPath/autocommit.js"></script>
+ <script src="/autocommit.js"></script>
</head>
<body>
<noscript>
@@ -21,7 +21,7 @@
<form action="${action}" method="post" target="_parent">
<div>
- #if($RelayState) <input type="hidden" name="RelayState" value="${RelayState}"/> #end
+ #if($RelayState) <input type="hidden" name="RelayState" value="${RelayState}"/> #end
#if($SAMLRequest) <input type="hidden" name="SAMLRequest" value="${SAMLRequest}" /> #end
#if($SAMLResponse) <input type="hidden" name="SAMLResponse" value="${SAMLResponse}" /> #end
</div>
diff --git a/connector/src/main/resources/templates/residency.html b/connector/src/main/resources/templates/residency.html
new file mode 100644
index 00000000..6e266449
--- /dev/null
+++ b/connector/src/main/resources/templates/residency.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org"
+ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+ layout:decorator="fragments/base"
+ th:with="lang=${#locale.language}" th:lang="${lang}">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="../../webapp/css/css_country.css" th:href="@{/static/css/css_country.css}"/>
+ <script type="text/javascript" src="../../webapp/js/jquery-3.6.0.js"
+ th:attr="src=@{/static/js/jquery-3.6.0.min.js}"></script>
+ <title th:text="#{gui.residency.title}">Österreichischer Wohnsitz</title>
+ <script type="text/javascript" th:inline="javascript">
+ $(document).ready(function () {
+ $("#textResult").hide();
+ $("#tableResult").hide();
+ $("#loading").hide();
+ $.ajaxSetup({
+ beforeSend: function () {
+ $("#loading").show();
+ },
+ complete: function () {
+ $("#loading").hide();
+ }
+ });
+ $("#inputForm input[type='text']").keyup(function (event) {
+ if (event.keyCode === 13) {
+ $("#buttonSearch").click();
+ }
+ });
+ });
+
+ function search() {
+ let updatedText = /*[[#{gui.residency.updated}]]*/ 'Updated text';
+ let errorText = /*[[#{gui.residency.error}]]*/ 'Error';
+ let foundText = /*[[#{gui.residency.found}]]*/ 'Found {0}';
+ let uniqueText = /*[[#{gui.residency.unique}]]*/ 'Unique';
+ let invalidInputText = /*[[#{gui.residency.header.inputinvalid}]]*/ 'Invalid';
+ if (!$("#inputForm #inputMunicipality").val().trim() && !$("#inputForm #inputPostleitzahl").val().trim() &&
+ !$("#inputForm #inputVillage").val().trim()) {
+ $("#textResult").show().text(invalidInputText);
+ return;
+ }
+ $.ajax({
+ type: "POST",
+ url: "http://localhost:8080/ms_connector/residency/search",
+ data: $("#inputForm").serialize()
+ }).done(function (data, textStatus, jqXHR) {
+ if (data["resultCount"] === 1) {
+ $("#textResult").show().text(uniqueText);
+ $("#tableResult tbody").empty();
+ $("#tableResult").hide();
+ $("#inputForm #inputPostleitzahl").val(data["results"][0]["postleitzahl"]);
+ $("#inputForm #inputMunicipality").val(data["results"][0]["municipality"]);
+ $("#inputForm #inputVillage").val(data["results"][0]["village"]);
+ $("#inputForm #inputStreet").val(data["results"][0]["street"]);
+ $("#inputForm #inputNumber").val(data["results"][0]["number"]);
+ return;
+ }
+ $("#textResult").show().text(foundText.replace("{0}", data["resultCount"]));
+ $("#tableResult").show();
+ $("#tableResult tbody").empty();
+ $.each(data.results, function (i, output) {
+ $("#tableResult tbody")
+ .append($("<tr>")
+ .append($("<td>").text(output["postleitzahl"] !== null ? output["postleitzahl"] : "").css("text-align", "right"))
+ .append($("<td>").text(output["municipality"] !== null ? output["municipality"] : ""))
+ .append($("<td>").text(output["village"] !== null ? output["village"] : ""))
+ .append($("<td>").text(output["street"] !== null ? output["street"] : ""))
+ .append($("<td>").text(output["number"] !== null ? output["number"] : "").css("text-align", "right"))
+ .css("cursor", "pointer").click(function () {
+ $("#inputForm #inputPostleitzahl").val($(this).children("td:nth-child(1)").text());
+ $("#inputForm #inputMunicipality").val($(this).children("td:nth-child(2)").text());
+ $("#inputForm #inputVillage").val($(this).children("td:nth-child(3)").text());
+ $("#inputForm #inputStreet").val($(this).children("td:nth-child(4)").text());
+ $("#inputForm #inputNumber").val($(this).children("td:nth-child(5)").text());
+ $("#textResult").show().text(updatedText);
+ search();
+ })
+ );
+ })
+ if (data.results.length === 0) {
+ $("#tableResult").hide();
+ }
+ }).fail(function (jqXHR, textStatus, errorThrown) {
+ $("#textResult").show().text(errorText);
+ })
+ }
+
+ function clearInput() {
+ $("#inputForm #inputMunicipality").val("");
+ $("#inputForm #inputVillage").val("");
+ $("#inputForm #inputStreet").val("");
+ $("#inputForm #inputNumber").val("");
+ $("#textResult").hide();
+ $("#tableResult").hide();
+ }
+ </script>
+ <style>
+ #residency label {
+ width: 10em;
+ display: inline-block;
+ margin-bottom: 0.5em;
+ }
+
+ #residency input {
+ width: 15em;
+ display: inline-block;
+ margin-bottom: 0.5em;
+ }
+
+ #result {
+ margin-bottom: 4em;
+ }
+
+ button {
+ padding: 0.5em;
+ margin: 0.5em;
+ width: 8em;
+ }
+
+ .block {
+ width: 100%;
+ }
+
+ #tableResult td, #tableResult th {
+ padding: 1em 0.5em;
+ }
+
+ #tableResult a {
+ text-decoration: underline;
+ }
+
+ #tableResult {
+ border-collapse: collapse;
+ }
+
+ #tableResult tr {
+ border-bottom: 1px solid black;
+ }
+ </style>
+</head>
+
+<body>
+<div class="header container">
+ <div class="titlebar">
+ <div>
+ <a href="https://www.bmi.gv.at/" target="_blank" title="Home">
+ <img class="toplogo img-responsive" src="/static/BMI.png" alt="Logo BMI"
+ th:attr="alt=#{gui.countryselection.logo.bmi.alt}">
+ <h1 class="hidden" th:text="#{gui.countryselection.header1}"> Bundesministerium für Inneres </h1>
+ </a>
+ </div>
+ <ul class="nav_oben">
+ <li>
+ <div class="languageselection" th:include="language_selection :: selectlanguage">
+ LanguageSelectionBlock
+ </div>
+ </li>
+ &nbsp; &nbsp;
+ <li>
+ <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.link.bmi}">Startseite
+ BMI </a>
+ </li>
+ </ul>
+ </div>
+</div>
+<div class="content">
+ <div class="subtitle">
+ <h1 th:text="#{gui.countryselection.header2}"> Zentraler eIDAS Knoten der Republik Österreich </h1>
+ <h2 th:text="#{gui.countryselection.header3}"> Betrieben durch das Bundesministerium für Inneres </h2>
+ </div>
+
+ <h1 th:text="#{gui.residency.header.selection}">Search your Austrian Residency</h1>
+
+ <div id="residency">
+ <form id="inputForm" method="post" action="$contextPath$submitEndpoint"
+ th:attr="action=@{${submitEndpoint}}">
+ <div><p th:text="#{gui.residency.header.help}">Please enter a postcode, municipality or village first</p>
+ </div>
+ <div>
+ <label for="inputPostleitzahl" th:text="#{gui.residency.input.postleitzahl}">Postleitzahl</label>
+ <input type="text" id="inputPostleitzahl" name="postleitzahl" value=""/>
+ </div>
+ <div>
+ <label for="inputMunicipality" th:text="#{gui.residency.input.municipality}">Municipality</label>
+ <input type="text" id="inputMunicipality" name="municipality" value=""/>
+ </div>
+ <div>
+ <label for="inputVillage" th:text="#{gui.residency.input.village}">Village</label>
+ <input type="text" id="inputVillage" name="village" value=""/>
+ </div>
+ <div>
+ <label for="inputStreet" th:text="#{gui.residency.input.street}">Street</label>
+ <input type="text" id="inputStreet" name="street" value=""/>
+ </div>
+ <div>
+ <label for="inputNumber" th:text="#{gui.residency.input.number}">Number</label>
+ <input type="text" id="inputNumber" name="number" value=""/>
+ </div>
+ <div class="block">
+ <button type="button" id="buttonSearch" onclick="search()" th:text="#{gui.residency.search}">
+ Search
+ </button>
+ <button type="button" id="buttonClear" onclick="clearInput()" th:text="#{gui.residency.clear}">
+ Clear
+ </button>
+ <button type="button" id="buttonProceed" th:text="#{gui.residency.proceed}">Proceed</button>
+ </div>
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ </form>
+ </div>
+
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" value="Abbrechen/Cancel" th:text="#{gui.residency.cancel}">Cancel</button>
+ <input type="hidden" name="stopAuthProcess" value="true">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}">
+ </form>
+
+ <div>
+ <img id="loading" src="../../webapp/img/ajax-loader.gif"
+ th:attr="src=@{/static/img/ajax-loader.gif}" style="display: none"/>
+ </div>
+
+ <div id="result">
+ <div>
+ <p><span id="textResult" style="display: none"></span></p>
+ </div>
+ <table id="tableResult" style="display: none">
+ <thead>
+ <tr>
+ <th th:text="#{gui.residency.input.postleitzahl}" style="text-align: right">Postcode</th>
+ <th th:text="#{gui.residency.input.municipality}">Municipality</th>
+ <th th:text="#{gui.residency.input.village}">Village</th>
+ <th th:text="#{gui.residency.input.street}">Street</th>
+ <th th:text="#{gui.residency.input.number}" style="text-align: right">Number</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ </tbody>
+ </table>
+ </div>
+
+</div>
+<footer>
+ <div class="copyright">&copy; BUNDESMINISTERIUM FÜR INNERES</div>
+ <div></div>
+</footer>
+</body>
+</html>