diff options
author | Thomas <> | 2021-09-02 09:01:27 +0200 |
---|---|---|
committer | Thomas <> | 2021-09-02 09:01:27 +0200 |
commit | 3d758efdb2d1f455222773d1b5d2cba91a32f8ad (patch) | |
tree | eead4117719b5fc5ebd824e610ca46f14b8322df /connector/src/test/resources | |
parent | af4097de42e0208d19fdcee7bbfc1406b64c17c7 (diff) | |
parent | 34094edfbf91cf445dbeae12b1b63cbfef543244 (diff) | |
download | National_eIDAS_Gateway-3d758efdb2d1f455222773d1b5d2cba91a32f8ad.tar.gz National_eIDAS_Gateway-3d758efdb2d1f455222773d1b5d2cba91a32f8ad.tar.bz2 National_eIDAS_Gateway-3d758efdb2d1f455222773d1b5d2cba91a32f8ad.zip |
Merge branch 'feature/matching_rebased' into feature/matching_base
Diffstat (limited to 'connector/src/test/resources')
9 files changed, 448 insertions, 107 deletions
diff --git a/connector/src/test/resources/config/junit_config_1_springboot.properties b/connector/src/test/resources/config/junit_config_1_springboot.properties index e63cda7b..3544c3a9 100644 --- a/connector/src/test/resources/config/junit_config_1_springboot.properties +++ b/connector/src/test/resources/config/junit_config_1_springboot.properties @@ -43,6 +43,19 @@ eidas.ms.auth.eIDAS.szrclient.debug.logfullmessages=true eidas.ms.auth.eIDAS.szrclient.debug.useDummySolution=false +#### 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=EIDAS-KITT + + ## PVP2 S-Profile end-point configuration eidas.ms.pvp2.keystore.type=jks @@ -81,3 +94,39 @@ eidas.ms.sp.1.pvp2.metadata.url=http://junit.test/metadata eidas.ms.sp.1.policy.allowed.requested.targets=test eidas.ms.sp.1.policy.hasBaseIdTransferRestriction=true +## PVP2 S-Profile client configuration +#eidas.ms.modules.idaustriaclient.keystore.type=jks +#eidas.ms.modules.idaustriaclient.keystore.path=keys/junit.jks1 +#eidas.ms.modules.idaustriaclient.keystore.password=password +#eidas.ms.modules.idaustriaclient.key.metadata.alias=meta +#eidas.ms.modules.idaustriaclient.key.metadata.password=password +#eidas.ms.modules.idaustriaclient.key.signing.alias=sig +#eidas.ms.modules.idaustriaclient.key.signing.password=password +#eidas.ms.modules.idaustriaclient.metadata.validity=24 + +eidas.ms.modules.idaustriaclient.keystore.path=keys/junit_test.jks +eidas.ms.modules.idaustriaclient.keystore.password=password +eidas.ms.modules.idaustriaclient.keystore.type=jks + +eidas.ms.modules.idaustriaclient.metadata.sign.alias=meta +eidas.ms.modules.idaustriaclient.metadata.sign.password=password +eidas.ms.modules.idaustriaclient.request.sign.alias=sig +eidas.ms.modules.idaustriaclient.request.sign.password=password +eidas.ms.modules.idaustriaclient.response.encryption.alias=enc +eidas.ms.modules.idaustriaclient.response.encryption.password=password + +eidas.ms.modules.idaustriaclient.truststore.path=keys/junit_test.jks +eidas.ms.modules.idaustriaclient.truststore.password=password +eidas.ms.modules.idaustriaclient.truststore.type=jks + +eidas.ms.modules.idaustriaclient.node.entityId= +eidas.ms.modules.idaustriaclient.sp.entityId= +eidas.ms.modules.idaustriaclient.node.metadataUrl= + +eidas.ms.modules.idaustriaclient.metadata.organisation.name=JUnit +eidas.ms.modules.idaustriaclient.metadata.organisation.friendyname=For testing with jUnit +eidas.ms.modules.idaustriaclient.metadata.organisation.url=http://junit.test +eidas.ms.modules.idaustriaclient.metadata.contact.givenname=Max +eidas.ms.modules.idaustriaclient.metadata.contact.surname=Mustermann +eidas.ms.modules.idaustriaclient.metadata.contact.email=max@junit.test + diff --git a/connector/src/test/resources/config/junit_config_2_springboot.properties b/connector/src/test/resources/config/junit_config_2_springboot.properties index ecb22dec..a67e387f 100644 --- a/connector/src/test/resources/config/junit_config_2_springboot.properties +++ b/connector/src/test/resources/config/junit_config_2_springboot.properties @@ -43,6 +43,18 @@ eidas.ms.auth.eIDAS.szrclient.debug.logfullmessages=true eidas.ms.auth.eIDAS.szrclient.debug.useDummySolution=false +#### 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=EIDAS-KITT + ## PVP2 S-Profile end-point configuration eidas.ms.pvp2.keystore.type=jks @@ -81,3 +93,39 @@ eidas.ms.sp.1.pvp2.metadata.url=http://junit.test/metadata eidas.ms.sp.1.policy.allowed.requested.targets=test eidas.ms.sp.1.policy.hasBaseIdTransferRestriction=true + +## PVP2 S-Profile client configuration +#eidas.ms.modules.idaustriaclient.keystore.type=jks +#eidas.ms.modules.idaustriaclient.keystore.path=keys/junit.jks1 +#eidas.ms.modules.idaustriaclient.keystore.password=password +#eidas.ms.modules.idaustriaclient.key.metadata.alias=meta +#eidas.ms.modules.idaustriaclient.key.metadata.password=password +#eidas.ms.modules.idaustriaclient.key.signing.alias=sig +#eidas.ms.modules.idaustriaclient.key.signing.password=password +#eidas.ms.modules.idaustriaclient.metadata.validity=24 + +eidas.ms.modules.idaustriaclient.keystore.path=keys/junit_test.jks +eidas.ms.modules.idaustriaclient.keystore.password=password +eidas.ms.modules.idaustriaclient.keystore.type=jks + +eidas.ms.modules.idaustriaclient.metadata.sign.alias=meta +eidas.ms.modules.idaustriaclient.metadata.sign.password=password +eidas.ms.modules.idaustriaclient.request.sign.alias=sig +eidas.ms.modules.idaustriaclient.request.sign.password=password +eidas.ms.modules.idaustriaclient.response.encryption.alias=enc +eidas.ms.modules.idaustriaclient.response.encryption.password=password + +eidas.ms.modules.idaustriaclient.truststore.path=keys/junit_test.jks +eidas.ms.modules.idaustriaclient.truststore.password=password +eidas.ms.modules.idaustriaclient.truststore.type=jks + +eidas.ms.modules.idaustriaclient.node.entityId= +eidas.ms.modules.idaustriaclient.node.metadataUrl= + +eidas.ms.modules.idaustriaclient.metadata.organisation.name=JUnit +eidas.ms.modules.idaustriaclient.metadata.organisation.friendyname=For testing with jUnit +eidas.ms.modules.idaustriaclient.metadata.organisation.url=http://junit.test +eidas.ms.modules.idaustriaclient.metadata.contact.givenname=Max +eidas.ms.modules.idaustriaclient.metadata.contact.surname=Mustermann +eidas.ms.modules.idaustriaclient.metadata.contact.email=max@junit.test + diff --git a/connector/src/test/resources/config/keys/junit_test.jks b/connector/src/test/resources/config/keys/junit_test.jks Binary files differnew file mode 100644 index 00000000..ee6254a9 --- /dev/null +++ b/connector/src/test/resources/config/keys/junit_test.jks diff --git a/connector/src/test/resources/config/properties/messages.properties b/connector/src/test/resources/config/properties/messages.properties index ea604cda..9f7f8f7c 100644 --- a/connector/src/test/resources/config/properties/messages.properties +++ b/connector/src/test/resources/config/properties/messages.properties @@ -18,7 +18,7 @@ gui.countryselection.header1=Federal Ministry of Internal Affairs gui.countryselection.header2=Austrian Central eIDAS Node gui.countryselection.header3=Operated by Federal Ministry of Internal Affairs gui.countryselection.header.selection=Select your country -gui.countryselection.cancle=Cancel +gui.countryselection.cancel=Cancel gui.countryselection.notsupportedinfo=If you cannot find your country in this list then your electronic identity (eID) is not yet supported. gui.countryselection.infos.general.header=Information on Logins with European eIDs diff --git a/connector/src/test/resources/config/properties/messages_de.properties b/connector/src/test/resources/config/properties/messages_de.properties index 989b8d9c..41ef2551 100644 --- a/connector/src/test/resources/config/properties/messages_de.properties +++ b/connector/src/test/resources/config/properties/messages_de.properties @@ -18,7 +18,7 @@ gui.countryselection.header1=Bundesministerium für Inneres gui.countryselection.header2=Zentraler eIDAS Knoten der Republik Österreich gui.countryselection.header3=Betrieben durch das Bundesministerium für Inneres gui.countryselection.header.selection=Wählen Sie Ihr Land -gui.countryselection.cancle=Abbrechen +gui.countryselection.cancel=Abbrechen gui.countryselection.notsupportedinfo=Wenn Sie Ihr Land in dieser Aufzählung nicht entdecken, dann wird Ihre elektronische Identität (eID) leider noch nicht unterstützt. gui.countryselection.infos.general.header=Information zur Anmeldung über Europäische eIDs diff --git a/connector/src/test/resources/config/templates/countrySelection.html b/connector/src/test/resources/config/templates/countrySelection.html index 7fbc9464..2483030b 100644 --- a/connector/src/test/resources/config/templates/countrySelection.html +++ b/connector/src/test/resources/config/templates/countrySelection.html @@ -2,7 +2,7 @@ <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}"> + 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"> @@ -17,17 +17,17 @@ body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } -div.header { +div.header { background-color: #e9ecef; padding-top: 28px; padding-left: 137px; padding-right: 137px; padding-bottom: 12px; } -div.titlebar { +div.titlebar { padding: 0px; } -div.titlebar div { +div.titlebar div { } .hidden { display: none; @@ -40,7 +40,7 @@ ul.nav_oben { } li { display: inline-block; -} +} div.header a { text-decoration: none; color: black; @@ -55,7 +55,7 @@ a { padding-bottom: 20px; } @media only screen and (min-width: 1000px) { - div.header { + div.header { padding-left: 137px; padding-right: 137px; } @@ -69,7 +69,7 @@ a { } } @media only screen and (max-width: 999px) { - div.header { + div.header { padding-left: 1em; padding-right: 1em; } @@ -114,10 +114,10 @@ footer { font-size: 80%; } #countries { - padding-bottom: 40px; + padding-bottom: 40px; } #country { - padding-bottom: 20px; + padding-bottom: 20px; } input[type=submit] { width: inherit; @@ -131,7 +131,7 @@ form { /* Element.closest polyfill - https://developer.mozilla.org/en-US/docs/Web/API/Element/closest License: public domain*/ if (!Element.prototype.matches) - Element.prototype.matches = Element.prototype.msMatchesSelector || + Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; if (!Element.prototype.closest) @@ -141,7 +141,7 @@ if (!Element.prototype.closest) do { if (el.matches(s)) return el; el = el.parentElement || el.parentNode; - } while (el !== null && el.nodeType === 1); + } while (el !== null && el.nodeType === 1); return null; }; @@ -149,7 +149,7 @@ if (!Element.prototype.closest) function clickCountryFlag(element) { if (!element) return false; - var form = element.closest("form"); + var form = element.closest("form"); if (!form) return false; @@ -188,43 +188,43 @@ function clickCountryFlag(element) { <h1 th:text="#{gui.countryselection.header.selection}"> Wählen Sie Ihr Land / Select your country </h1> <div id="country"> - <!-- Active countries --> + <!-- Active countries --> <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${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="XX"> - <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" /> + <input type="hidden" name="selectedCountry" value="XX"> + <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}" /> </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.cancle}"> + <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> - + <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.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> + <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> + <span th:text="#{gui.countryselection.infos.general.part.6}"> sixed part </span> </p> </div> diff --git a/connector/src/test/resources/config/templates/countrySelection_example.html b/connector/src/test/resources/config/templates/countrySelection_example.html index 3b7c2d50..2128f14d 100644 --- a/connector/src/test/resources/config/templates/countrySelection_example.html +++ b/connector/src/test/resources/config/templates/countrySelection_example.html @@ -3,12 +3,12 @@ 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/js/js_country.js}"></script> + <script type="text/javascript" src="$contextPath/static/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> @@ -17,194 +17,194 @@ <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" th:attr="action=@{${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="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> + <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="$contextPath/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}"> + <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="$contextPath/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> + <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="$contextPath/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}"> + <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="$contextPath/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> + 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="$contextPath/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}"> + <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="$contextPath/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> + <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="$contextPath/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="$contextPath/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="$contextPath/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="$contextPath/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> + 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="$contextPath/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> + 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="$contextPath/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="$contextPath/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> + <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="$contextPath/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> + <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="$contextPath/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="$contextPath/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="$contextPath/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="$contextPath/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}"> + 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="$contextPath/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> + 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="$contextPath/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> + <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="$contextPath/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}"> + <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="$contextPath/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> + <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="$contextPath/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> + <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="$contextPath/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}"> + 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="$contextPath/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> - - <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}"> + + <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> - + </div> </body> </html> diff --git a/connector/src/test/resources/config/templates/other_login_method.html b/connector/src/test/resources/config/templates/other_login_method.html new file mode 100644 index 00000000..56c368c6 --- /dev/null +++ b/connector/src/test/resources/config/templates/other_login_method.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="$contextPath/static/css/css_country.css" th:href="@{/static/css/css_country.css}"/> + <title th:text="#{gui.countryselection.title}">eIDAS-Login Login-Auswahl</title> + <script type="text/javascript"> + </script> + <style> + body { + background-image: none; + margin: 0px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + } + + div.header { + background-color: #e9ecef; + padding-top: 28px; + padding-left: 137px; + padding-right: 137px; + padding-bottom: 12px; + } + + div.titlebar { + padding: 0px; + } + + div.titlebar div { + } + + .hidden { + display: none; + } + + ul.nav_oben { + padding: 0px; + margin: 0px; + text-align: right; + text-transform: uppercase; + } + + li { + display: inline-block; + } + + div.header a { + text-decoration: none; + color: black; + } + + a { + text-decoration: none; + color: #a22c1c; + } + + .block { + /* override country.css */ + width: 200px; + padding-bottom: 20px; + } + + @media only screen and (min-width: 1000px) { + div.header { + padding-left: 137px; + padding-right: 137px; + } + + .content { + padding-left: 137px; + padding-right: 137px; + } + + footer { + padding-left: 137px; + padding-right: 137px; + } + } + + @media only screen and (max-width: 999px) { + div.header { + padding-left: 1em; + padding-right: 1em; + } + + .content { + padding-left: 1em; + padding-right: 1em; + } + + footer { + padding-left: 1em; + padding-right: 1em; + } + } + + div.subtitle h1 { + padding: 0px; + margin: 0px; + font-size: 130%; + align: right; + } + + div.subtitle h2 { + padding: 0px; + margin: 0px; + font-size: 115%; + } + + footer { + left: 0; + padding-top: 1em; + bottom: 0; + width: 100%; + height: 2em; + background-color: rgb(162, 44, 28); + color: white; + } + + .float { + float: left; + } + + .floatright { + float: right; + } + + .copyright { + width: 66%; + font-size: 80%; + } + + #countries { + padding-bottom: 40px; + } + + #country { + padding-bottom: 20px; + } + + input[type=submit] { + width: inherit; + /* text-align: left; */ + } + + form { + justify-content: center; + } + </style> + <script type="text/javascript"> + + /* Element.closest polyfill - https://developer.mozilla.org/en-US/docs/Web/API/Element/closest License: public domain*/ + if (!Element.prototype.matches) + Element.prototype.matches = Element.prototype.msMatchesSelector || + Element.prototype.webkitMatchesSelector; + + if (!Element.prototype.closest) + Element.prototype.closest = function (s) { + var el = this; + if (!document.documentElement.contains(el)) return null; + do { + if (el.matches(s)) return el; + el = el.parentElement || el.parentNode; + } while (el !== null && el.nodeType === 1); + return null; + }; + + + function clickCountryFlag(element) { + if (!element) return false; + + var form = element.closest("form"); + + if (!form) return false; + + form.submit(); + return false; + } + </script> +</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.countryselection.header.selection}"> Wählen Sie Ihr Land / Select your country </h1> + + <div id="country"> + <!-- Active countries --> + <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> + <input type="submit" role="button" value="Handy-Signatur / Mobile Signature" + th:attr="value=#{gui.countryselection.country.de}"/> + <input type="hidden" name="selectedCountry" value="HS"> + <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" role="button" value="Andere eIDAS ID" + th:attr="value=#{gui.countryselection.country.de}"/> + <input type="hidden" name="selectedCountry" value="EIDAS"> + <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" role="button" value="Keine weitere HS / eIDAS" + th:attr="value=#{gui.countryselection.country.de}"/> + <input type="hidden" name="selectedCountry" value="NONE"> + <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/> + </form> + <!-- todo wohnsitz --> + </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> + +</div> +<footer> + <div class="copyright">© BUNDESMINISTERIUM FÜR INNERES</div> + <div></div> +</footer> +</body> +</html> diff --git a/connector/src/test/resources/spring/SpringTest_connector.beans.xml b/connector/src/test/resources/spring/SpringTest_connector.beans.xml index 4d770570..81fff7dd 100644 --- a/connector/src/test/resources/spring/SpringTest_connector.beans.xml +++ b/connector/src/test/resources/spring/SpringTest_connector.beans.xml @@ -15,8 +15,11 @@ <mvc:annotation-driven /> <mvc:default-servlet-handler /> + <bean id="defaultErrorTicketService" + class="at.gv.egiz.eaaf.core.impl.idp.auth.services.DefaultErrorService"/> + <bean id="WebResourceConfiguration" - class="at.asitplus.eidas.specific.connector.config.StaticResourceConfiguration" /> + class="at.asitplus.eidas.specific.connector.gui.config.StaticResourceConfiguration" /> <bean id="ProcessEngineSignalController" class="at.asitplus.eidas.specific.connector.controller.ProcessEngineSignalController" /> @@ -38,19 +41,16 @@ <bean id="PVP2XProtocol" class="at.asitplus.eidas.specific.connector.controller.Pvp2SProfileEndpoint"> - <property name="pvpIdpCredentials"> - <ref bean="PVPEndPointCredentialProvider" /> - </property> - <property name="metadataProvider"> - <ref bean="PVPMetadataProvider" /> - </property> + <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" /> + <property name="metadataProvider" ref="PVPMetadataProvider" /> </bean> <bean id="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"> @@ -61,12 +61,8 @@ <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> + <property name="pvpIdpCredentials" ref="PVPEndPointCredentialProvider" /> + <property name="metadataProvider" ref="PVPMetadataProvider" /> </bean> <bean id="eaafProtocolAuthenticationService" @@ -74,9 +70,6 @@ <property name="guiBuilder" ref="mvcGUIBuilderImpl" /> </bean> - <bean id="defaultErrorHandler" - class="at.gv.egiz.eaaf.core.impl.idp.auth.services.DefaultErrorService"/> - <bean id="securePendingRequestIdGeneration" class="at.gv.egiz.eaaf.core.impl.utils.SecurePendingRequestIdGenerationStrategy" /> |