diff options
author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2022-05-12 14:33:30 +0000 |
---|---|---|
committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2022-05-12 14:33:30 +0000 |
commit | e412bda31b304821c08d8f8c7b2473d67246dba0 (patch) | |
tree | 34b34b7cd306ba2e822b9635645cba8c0d4fcc41 /connector/src/main/resources | |
parent | b3f78f57ff8da8a82af57377eaabea22031582e9 (diff) | |
parent | c54b0a87fe2794ce9926e750e7b52f50685ae894 (diff) | |
download | National_eIDAS_Gateway-e412bda31b304821c08d8f8c7b2473d67246dba0.tar.gz National_eIDAS_Gateway-e412bda31b304821c08d8f8c7b2473d67246dba0.tar.bz2 National_eIDAS_Gateway-e412bda31b304821c08d8f8c7b2473d67246dba0.zip |
Merge branch 'nightlybuild_matching' into 'nightlybuild'
eIDAS matching functionality
See merge request egiz/eidas_at_proxy!18
Diffstat (limited to 'connector/src/main/resources')
11 files changed, 722 insertions, 291 deletions
diff --git a/connector/src/main/resources/application.properties b/connector/src/main/resources/application.properties index 73a258d7..b4cb3bab 100644 --- a/connector/src/main/resources/application.properties +++ b/connector/src/main/resources/application.properties @@ -77,8 +77,13 @@ eidas.ms.auth.eIDAS.node_v2.loa.requested.minimum=http://eidas.europa.eu/LoA/hig #eidas.ms.auth.eIDAS.szrclient.useTestService=true #eidas.ms.auth.eIDAS.szrclient.endpoint.prod= #eidas.ms.auth.eIDAS.szrclient.endpoint.test=http://localhost:1234/demoszr +#eidas.ms.auth.eIDAS.szrclient.ssl.keyStore.type=jks #eidas.ms.auth.eIDAS.szrclient.ssl.keyStore.path=keys/junit.jks #eidas.ms.auth.eIDAS.szrclient.ssl.keyStore.password=password +#eidas.ms.auth.eIDAS.szrclient.ssl.key.alias= +#eidas.ms.auth.eIDAS.szrclient.ssl.key.password= + +#eidas.ms.auth.eIDAS.szrclient.ssl.trustStore.type= #eidas.ms.auth.eIDAS.szrclient.ssl.trustStore.path= #eidas.ms.auth.eIDAS.szrclient.ssl.trustStore.password= eidas.ms.auth.eIDAS.szrclient.timeout.connection=15 @@ -98,6 +103,43 @@ 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.key.alias= +#eidas.ms.auth.eIDAS.zmrclient.ssl.key.password= + +#eidas.ms.auth.eIDAS.zmrclient.ssl.trustStore.type= +#eidas.ms.auth.eIDAS.zmrclient.ssl.trustStore.path= +#eidas.ms.auth.eIDAS.zmrclient.ssl.trustStore.password= + +eidas.ms.auth.eIDAS.zmrclient.timeout.connection=15 +eidas.ms.auth.eIDAS.zmrclient.timeout.response=30 + +#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 +eidas.ms.auth.eIDAS.zmrclient.debug.logfullmessages=false + + +# 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.ernpclient.ssl.keyStore.type=jks +#eidas.ms.auth.eIDAS.ernpclient.ssl.keyStore.path=../keystore/junit_test.jks +#eidas.ms.auth.eIDAS.ernpclient.ssl.keyStore.password=password +#eidas.ms.auth.eIDAS.ernpclient.ssl.key.alias=meta +#eidas.ms.auth.eIDAS.ernpclient.ssl.key.password=password +eidas.ms.client.http.connection.timeout.request=15 +eidas.ms.client.http.connection.timeout.socket=30 + + + + #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> + + <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">© 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> + + <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">© 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> + + <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">© BUNDESMINISTERIUM FÜR INNERES</div> + <div></div> +</footer> +</body> +</html> |