aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java33
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java1
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources.properties5
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_en.properties5
-rw-r--r--id/ConfigWebTool/src/main/webapp/css/index.css6
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp10
-rw-r--r--id/server/idserverlib/pom.xml2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java12
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java1
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java7
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html14
-rw-r--r--id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd18
-rw-r--r--id/server/stork2-saml-engine/pom.xml3
13 files changed, 90 insertions, 27 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
index d5355a421..9eca86976 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
@@ -28,6 +28,7 @@ import java.util.List;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
import at.gv.egovernment.moa.id.commons.db.dao.config.OASTORK;
import at.gv.egovernment.moa.id.commons.db.dao.config.OAStorkAttribute;
import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
@@ -48,6 +49,8 @@ public class OASTORKConfig {
private boolean vidpEnabled = false;
private List<AttributeProviderPlugin> attributeProviderPlugins = new ArrayList<AttributeProviderPlugin>();
private boolean requireConsent = false;
+ private List<String> citizenCountries;
+ private List<String> enabledCitizenCountries;
public OASTORKConfig() {
@@ -72,6 +75,15 @@ public class OASTORKConfig {
// if there is no configuration available for the OA, get the default qaa level
setQaa(ConfigurationDBRead.getMOAIDConfiguration().getAuthComponentGeneral().getForeignIdentities().getSTORK().getQualityAuthenticationAssuranceLevel());
}
+
+ // fetch available citizen countries
+ citizenCountries = new ArrayList<String>();
+ for(CPEPS current : ConfigurationDBRead.getMOAIDConfiguration().getAuthComponentGeneral().getForeignIdentities().getSTORK().getCPEPS()) {
+ citizenCountries.add(current.getCountryCode());
+ }
+ enabledCitizenCountries = new ArrayList<String>();
+ for(CPEPS current : config.getCPEPS())
+ enabledCitizenCountries.add(current.getCountryCode());
// prepare attribute helper list
attributes = new ArrayList<AttributeHelper>();
@@ -153,6 +165,27 @@ public class OASTORKConfig {
this.attributes = attributes;
}
+ public List<String> getAvailableCitizenCountries() {
+ return citizenCountries;
+ }
+
+ public List<String> getEnabledCitizenCountries() {
+ return enabledCitizenCountries;
+ }
+
+ public void setEnabledCitizenCountries(List<String> update) {
+ enabledCitizenCountries = update;
+ }
+
+ public List<CPEPS> getEnabledCPEPS() {
+ List<CPEPS> result = new ArrayList<CPEPS>();
+ for(CPEPS current : ConfigurationDBRead.getMOAIDConfiguration().getAuthComponentGeneral().getForeignIdentities().getSTORK().getCPEPS()) {
+ if(enabledCitizenCountries.contains(current.getCountryCode()))
+ result.add(current);
+ }
+ return result;
+ }
+
public List<String> getAvailableAttributeProviderPlugins() {
return AttributeProviderFactory.getAvailablePlugins();
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
index 78747eca6..0ff60a656 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
@@ -1043,6 +1043,7 @@ public class EditOAAction extends ActionSupport implements ServletRequestAware,
stork.setVidpEnabled(storkOA.isVidpEnabled());
stork.setRequireConsent(storkOA.isRequireConsent());
stork.setAttributeProviders(storkOA.getAttributeProviderPlugins());
+ stork.setCPEPS(storkOA.getEnabledCPEPS());
try {
if (newentry) {
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources.properties b/id/ConfigWebTool/src/main/resources/applicationResources.properties
index 38b379693..34d2bc81f 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources.properties
@@ -244,6 +244,11 @@ webpages.oaconfig.sso.useauthdataframe=Zus\u00E4tzliche Userabfrage
webpages.oaconfig.sso.usesso=Single Sign-On verwenden
webpages.oaconfig.stork.header=Secure idenTity acrOss boRders linKed
+webpages.oaconfig.stork.enabledcpeps=aktivierte Ziell&auml;nder
+webpages.oaconfig.stork.attributes.header=angeforderte Attribute
+webpages.oaconfig.stork.attributes.used=anfordern?
+webpages.oaconfig.stork.attributes.name=Attributname
+webpages.oaconfig.stork.attributes.mandatory=obligatorisch?
webpages.oaconfig.stork.usestork=STORK Logon aktivieren
webpages.moaconfig.stork.pepslist=C-PEPS Konfiguration
webpages.moaconfig.stork.newpeps=Neuen PEPS konfigurieren
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
index ab945b0a0..c66572969 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
@@ -245,6 +245,11 @@ webpages.oaconfig.sso.usesso=Single Sign-On verwenden
webpages.oaconfig.stork.header=Secure idenTity acrOss boRders linKed
webpages.oaconfig.stork.usestork=STORK Logon aktivieren
+webpages.oaconfig.stork.attributes.header=angeforderte Attribute
+webpages.oaconfig.stork.attributes.used=anfordern?
+webpages.oaconfig.stork.attributes.name=Attributname
+webpages.oaconfig.stork.attributes.mandatory=obligatorisch?
+webpages.oaconfig.stork.enabledcpeps=aktivierte Ziell&auml;nder
webpages.moaconfig.stork.pepslist=C-PEPS Konfiguration
webpages.moaconfig.stork.newpeps=Neuen PEPS konfigurieren
webpages.moaconfig.stork.removepeps=l\u00F6schen
diff --git a/id/ConfigWebTool/src/main/webapp/css/index.css b/id/ConfigWebTool/src/main/webapp/css/index.css
index 9d9f59587..4f497faaa 100644
--- a/id/ConfigWebTool/src/main/webapp/css/index.css
+++ b/id/ConfigWebTool/src/main/webapp/css/index.css
@@ -223,6 +223,12 @@ body {
padding-top: 25px;
}
+.oa_config_block h4 {
+ clear: both;
+ padding-top: 20px;
+ margin-bottom: 10px;
+}
+
#loadOA_webpages_oaconfig_pvp2_certifcate_info{
width: 100%;
}
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
index df946b3a7..ebdacc7a7 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
@@ -388,9 +388,13 @@
name="storkOA.qaa"
key="webpages.moaconfig.stork.qaa"
labelposition="left" />
- <h4>Attributes</h4>
+ <h4><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.enabledcpeps", request) %></h4>
+ <s:checkboxlist name="storkOA.enabledCitizenCountries" list="storkOA.availableCitizenCountries" value="storkOA.enabledCitizenCountries" />
+ <h4><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.header", request) %></h4>
<table>
- <tr><th>verwendet</th><th>Attributname</th><th>mandatory</th></tr>
+ <tr><th><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.used", request) %></th>
+ <th><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.name", request) %></th>
+ <th><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.mandatory", request) %></th></tr>
<s:iterator value="storkOA.helperAttributes" status="stat">
<tr><td><s:checkbox name="storkOA.helperAttributes[%{#stat.index}].used" value="%{used}" disabled="%{readOnly}" /></td>
<td><s:property value="%{name}" /><s:hidden name="storkOA.helperAttributes[%{#stat.index}].name" value="%{name}" /></td>
@@ -745,4 +749,4 @@
<jsp:include page="snippets/footer.jsp"></jsp:include>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index f760c93b2..9e23de1a5 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -174,7 +174,7 @@
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
</dependency>
- <dependency>
+ <dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java
index ff3b7b170..c244b64e9 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java
@@ -34,6 +34,8 @@ import java.net.URISyntaxException;
import org.apache.commons.io.IOUtils;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
+import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
import at.gv.egovernment.moa.id.config.ConfigurationException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
@@ -56,6 +58,7 @@ public class LoginFormBuilder {
private static String BKU_LOCAL = "#LOCAL#";
public static String CONTEXTPATH = "#CONTEXTPATH#";
private static String MOASESSIONID = "#SESSIONID#";
+ private static String PEPSLIST = "#PEPSLIST#";
private static String SERVLET = CONTEXTPATH+"/GenerateIframeTemplate";
@@ -147,6 +150,15 @@ public class LoginFormBuilder {
value = value.replace(CONTEXTPATH, contextpath);
value = value.replace(MOASESSIONID, moaSessionID);
+ if (oaParam.isShowStorkLogin()) {
+ String pepslist = "";
+ for (CPEPS current : oaParam.getPepsList())
+ // check if master config has changed...
+ if(ConfigurationDBRead.getMOAIDConfiguration().getAuthComponentGeneral().getForeignIdentities().getSTORK().getCPEPS().contains(current))
+ pepslist += "<option value=" + current.getCountryCode() + ">" + current.getCountryCode() + "</option>\n";
+ value = value.replace(PEPSLIST, pepslist);
+ }
+
value = FormBuildUtils.customiceLayoutBKUSelection(value,
oaParam.isShowMandateCheckBox(),
oaParam.isOnlyMandateAllowed(),
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
index 2a6bde1e8..13cebdbff 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
@@ -50,7 +50,6 @@ import org.w3c.dom.Element;
import eu.stork.peps.auth.commons.IPersonalAttributeList;
import eu.stork.peps.auth.commons.STORKAuthnRequest;
-
import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator;
import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils;
import at.gv.egovernment.moa.id.protocols.oauth20.OAuth20SessionObject;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
index d16e85084..492770aad 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
@@ -55,6 +55,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationType;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
import at.gv.egovernment.moa.id.commons.db.dao.config.Mandates;
import at.gv.egovernment.moa.id.commons.db.dao.config.MandatesProfileNameItem;
@@ -398,9 +399,9 @@ public byte[] getSendAssertionTemplate() {
return null;
}
-
-
-
+public List<CPEPS> getPepsList() {
+ return new ArrayList<CPEPS>(oa_auth.getOASTORK().getCPEPS());
+}
}
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
index b9d3eafa7..ef070b8eb 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
@@ -815,17 +815,7 @@
<h2 id="tabheader" class="dunkel">Home Country Selection</h2>
<p>
<select name="cccSelection" id="cccSelection" size="1" style="width: 120px; margin-right: 5px;" >
- <option value="BE">Belgi&euml;/Belgique</option>
- <option value="EE">Eesti</option>
- <option value="ES">Espa&ntilde;a</option>
- <option value="IS">&Iacute;sland</option>
- <option value="IT">Italia</option>
- <option value="LI">Liechtenstein</option>
- <option value="LT">Lithuania</option>
- <option value="PT">Portugal</option>
- <option value="SI">Slovenija</option>
- <option value="FI">Suomi</option>
- <option value="SE">Sverige</option>
+ #PEPSLIST#
</select>
<button name="bkuButton" type="button" onClick="storkClicked();">Proceed</button>
<a href="info_stork.html" target="_blank" class="infobutton" style="color:#FFF">i</a>
@@ -853,4 +843,4 @@
</div>
</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd
index af827210f..d7f48e51a 100644
--- a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd
+++ b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd
@@ -884,12 +884,18 @@
<xsd:element name="OA_STORK">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="StorkLogonEnabled" type="xsd:boolean" default="true"/>
- <xsd:element ref="Qaa" minOccurs="0" maxOccurs="1"/>
- <xsd:element ref="OAAttributes" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="VidpEnabled" type="xsd:boolean" default="false"/>
- <xsd:element ref="AttributeProviders" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="requireConsent" type="xsd:boolean" default="true"/>
+ <xsd:element name="StorkLogonEnabled" type="xsd:boolean"
+ default="true" />
+ <xsd:element ref="Qaa" minOccurs="0" maxOccurs="1" />
+ <xsd:element ref="OAAttributes" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xsd:element name="VidpEnabled" type="xsd:boolean"
+ default="false" />
+ <xsd:element ref="AttributeProviders" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xsd:element name="requireConsent" type="xsd:boolean"
+ default="true" />
+ <xsd:element ref="C-PEPS" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
diff --git a/id/server/stork2-saml-engine/pom.xml b/id/server/stork2-saml-engine/pom.xml
index af6dfd21c..305d131a8 100644
--- a/id/server/stork2-saml-engine/pom.xml
+++ b/id/server/stork2-saml-engine/pom.xml
@@ -3,7 +3,7 @@
<parent>
<groupId>MOA.id</groupId>
<artifactId>moa-id</artifactId>
- <version>2.0-RC3</version>
+ <version>2.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -19,6 +19,7 @@
<commons.version>1.4.0</commons.version>
<opensaml.version>2.6.0</opensaml.version>
<timestamp>${maven.build.timestamp}</timestamp>
+ <repositoryPath>${basedir}/../../../repository</repositoryPath>
</properties>
<version>${saml.version}</version>
<description>