aboutsummaryrefslogtreecommitdiff
path: root/id
diff options
context:
space:
mode:
Diffstat (limited to 'id')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/OAListElement.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java50
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java3
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java5
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_de.properties3
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_en.properties3
-rw-r--r--id/ConfigWebTool/src/main/resources/struts.xml1
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/interfederation/idplist.jsp6
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/interfederation.jsp10
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvpgateway.jsp4
-rw-r--r--id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd2
12 files changed, 79 insertions, 12 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/OAListElement.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/OAListElement.java
index c4a825589..28eba9f34 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/OAListElement.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/OAListElement.java
@@ -24,7 +24,7 @@ package at.gv.egovernment.moa.id.configuration.data;
public class OAListElement {
- public enum ServiceType {OA, VIDP, IDP}
+ public enum ServiceType {OA, VIDP, IDP, GWAY}
private long dataBaseID;
private String oaIdentifier;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
index 9431cc1fd..2f9df18aa 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
@@ -45,9 +45,11 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
private static final Logger log = Logger.getLogger(OAMOAIDPInterfederationConfig.class);
private String queryURL;
- private boolean inboundSSO = true;
- private boolean outboundSSO = true;
- private boolean storeSSOSession = true;
+ private Boolean inboundSSO = true;
+ private Boolean outboundSSO = true;
+ private Boolean storeSSOSession = true;
+ private Boolean passiveRequest = true;
+ private Boolean localAuthOnError = true;
/* (non-Javadoc)
* @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#getName()
@@ -70,6 +72,8 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
this.inboundSSO = moaIDP.isInboundSSO();
this.outboundSSO = moaIDP.isOutboundSSO();
this.storeSSOSession = moaIDP.isStoreSSOSession();
+ this.localAuthOnError = moaIDP.isPerformLocalAuthenticationOnError();
+ this.passiveRequest = moaIDP.isPerformPassivRequest();
}
return null;
@@ -95,8 +99,10 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
moaIDP.setInboundSSO(inboundSSO);
moaIDP.setOutboundSSO(outboundSSO);
moaIDP.setStoreSSOSession(storeSSOSession);
- }
-
+ moaIDP.setPerformLocalAuthenticationOnError(localAuthOnError);
+ moaIDP.setPerformPassivRequest(passiveRequest);
+
+ }
return null;
}
@@ -143,7 +149,7 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
* @return the inboundSSO
*/
public boolean isInboundSSO() {
- return inboundSSO;
+ return inboundSSO.booleanValue();
}
/**
@@ -157,7 +163,7 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
* @return the outboundSSO
*/
public boolean isOutboundSSO() {
- return outboundSSO;
+ return outboundSSO.booleanValue();
}
/**
@@ -171,7 +177,7 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
* @return the storeSSOSession
*/
public boolean isStoreSSOSession() {
- return storeSSOSession;
+ return storeSSOSession.booleanValue();
}
/**
@@ -180,6 +186,34 @@ public class OAMOAIDPInterfederationConfig implements IOnlineApplicationData {
public void setStoreSSOSession(boolean storeSSOSession) {
this.storeSSOSession = storeSSOSession;
}
+
+ /**
+ * @return the passiveRequest
+ */
+ public boolean isPassiveRequest() {
+ return passiveRequest.booleanValue();
+ }
+
+ /**
+ * @param passiveRequest the passiveRequest to set
+ */
+ public void setPassiveRequest(boolean passiveRequest) {
+ this.passiveRequest = passiveRequest;
+ }
+
+ /**
+ * @return the localAuthOnError
+ */
+ public boolean isLocalAuthOnError() {
+ return localAuthOnError.booleanValue();
+ }
+
+ /**
+ * @param localAuthOnError the localAuthOnError to set
+ */
+ public void setLocalAuthOnError(boolean localAuthOnError) {
+ this.localAuthOnError = localAuthOnError;
+ }
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
index d6cbaf952..23af59d8e 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
@@ -33,6 +33,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationGatewayType
import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationIDPType;
import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
+import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -90,6 +91,7 @@ public class PVPGatewayInterfederationConfig implements IOnlineApplicationData {
gateway.setForwardIDPIdentifier(entityID);
}
+ dbOA.setType(Constants.MOA_CONFIG_BUSINESSSERVICE);
return null;
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
index dc97dd2c8..150483dd8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
@@ -43,6 +43,9 @@ public class FormDataHelper {
if (dboa.isIsInterfederationIDP()!= null && dboa.isIsInterfederationIDP())
formOAs.add(addOAFormListElement(dboa, ServiceType.IDP));
+ else if (dboa.isIsInterfederationGateway()!= null && dboa.isIsInterfederationGateway())
+ formOAs.add(addOAFormListElement(dboa, ServiceType.GWAY));
+
else if (dboa.getAuthComponentOA().getOASTORK() != null
&& dboa.getAuthComponentOA().getOASTORK().isVidpEnabled() != null
&& dboa.getAuthComponentOA().getOASTORK().isVidpEnabled())
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
index 589f7d714..d2d318413 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
@@ -179,6 +179,10 @@ public class InterfederationIDPAction extends BasicOAAction {
getStorkOA().getAttributeProviderPlugins().add(new AttributeProviderPlugin());
interfederationType = STRUTS_IDP_VIDP;
+ } else if (oa.isIsInterfederationGateway() != null && oa.isIsInterfederationGateway()) {
+ formList.putAll(IDPGatewayAction.buildIDPGatewayFormList());
+ interfederationType = STRUTS_IDP_GATEWAY;
+
} else {
log.warn("Requested application is not an interfederation IDP.");
return Constants.STRUTS_NOTALLOWED;
@@ -215,6 +219,7 @@ public class InterfederationIDPAction extends BasicOAAction {
if ( onlineapplication != null &&
!((onlineapplication.isIsInterfederationIDP() != null && onlineapplication.isIsInterfederationIDP()) ||
+ (onlineapplication.isIsInterfederationGateway() != null && onlineapplication.isIsInterfederationGateway()) ||
(onlineapplication.getAuthComponentOA().getOASTORK() != null
&& onlineapplication.getAuthComponentOA().getOASTORK().isVidpEnabled() != null
&& onlineapplication.getAuthComponentOA().getOASTORK().isVidpEnabled()))) {
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
index 02133494f..072f44981 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
@@ -108,9 +108,12 @@ webpages.inderfederation.moaid.inboundSSO=Eingehendes SSO erlauben
webpages.inderfederation.moaid.outboundSSO=Ausgehendes SSO erlauben
webpages.inderfederation.moaid.storeSSOSession=SSO Session speichern
webpages.inderfederation.moaid.attributQueryURL=AttributQuery Service URL
+webpages.inderfederation.moaid.sendPassivRequest=Verwende SAML2 isPassive Attribut
+webpages.inderfederation.moaid.perfomLocalAuthOnError=Im Fehlerfall Authentifizierung lokal durchf\u00FChren
webpages.interfederation.new.header=Neuen Identity Provider hinzuf\u00FCgen
webpages.interfederation.new.vidp=STORK VIDP
webpages.interfederation.new.moaid=MOA-ID IDP
+webpages.interfederation.new.gateway=STORK<->PVP Gateway
webpages.inderfederation.gateway.entityID=EntityID des PVP Portals
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
index a8c784e1d..b717377e0 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
@@ -108,9 +108,12 @@ webpages.inderfederation.moaid.inboundSSO=Allow inbound SSO
webpages.inderfederation.moaid.outboundSSO=Allow outbound SSO
webpages.inderfederation.moaid.storeSSOSession=Store SSO session
webpages.inderfederation.moaid.attributQueryURL=AttributQuery service URL
+webpages.inderfederation.moaid.sendPassivRequest=Use SAML2 isPassive attribute
+webpages.inderfederation.moaid.perfomLocalAuthOnError=Local authentication in case of an error
webpages.interfederation.new.header=Add new Identity Provider
webpages.interfederation.new.vidp=STORK VIDP
webpages.interfederation.new.moaid=MOA-ID IDP
+webpages.interfederation.new.gateway=STORK<->PVP Gateway
webpages.inderfederation.gateway.entityID=PVP portal EntityID
webpages.moaconfig.save.success=MOA-ID has been successfully saved.
diff --git a/id/ConfigWebTool/src/main/resources/struts.xml b/id/ConfigWebTool/src/main/resources/struts.xml
index 180877494..f383ad524 100644
--- a/id/ConfigWebTool/src/main/resources/struts.xml
+++ b/id/ConfigWebTool/src/main/resources/struts.xml
@@ -379,6 +379,7 @@
<action name="loadIDP" method="loadIDPInformation" class="at.gv.egovernment.moa.id.configuration.struts.action.InterfederationIDPAction">
<result name="success-VIDP">/jsp/interfederation/vidp.jsp</result>
<result name="success-MOAIDP">/jsp/interfederation/moa_idp.jsp</result>
+ <result name="success-IDPGATEWAY">/jsp/interfederation/pvpgateway.jsp</result>
<result name="notallowed" type="chain">main</result>
<result name="error">/error.jsp</result>
<result name="reauthentication" type="redirectAction">
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/interfederation/idplist.jsp b/id/ConfigWebTool/src/main/webapp/jsp/interfederation/idplist.jsp
index 3e7404dfc..ef666b357 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/interfederation/idplist.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/interfederation/idplist.jsp
@@ -46,7 +46,11 @@
<s:form action="newIDP" namespace="/secure" method="POST" >
<s:hidden name="interfederationType" value="-VIDP"></s:hidden>
<s:submit key="webpages.interfederation.new.vidp"/>
- </s:form>
+ </s:form>
+ <s:form action="newIDP" namespace="/secure" method="POST" >
+ <s:hidden name="interfederationType" value="-IDPGATEWAY"></s:hidden>
+ <s:submit key="webpages.interfederation.new.gateway"/>
+ </s:form>
</div>
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/interfederation.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/interfederation.jsp
index 97d21bcb4..b104e0fa7 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/interfederation.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/interfederation.jsp
@@ -20,6 +20,16 @@
labelposition="left"
cssClass="checkbox"
name="moaIDP.storeSSOSession"></s:checkbox>
+
+ <s:checkbox key="webpages.inderfederation.moaid.sendPassivRequest"
+ labelposition="left"
+ cssClass="checkbox"
+ name="moaIDP.passiveRequest"></s:checkbox>
+
+ <s:checkbox key="webpages.inderfederation.moaid.perfomLocalAuthOnError"
+ labelposition="left"
+ cssClass="checkbox"
+ name="moaIDP.localAuthOnError"></s:checkbox>
<s:textfield name="moaIDP.queryURL"
value="%{moaIDP.queryURL}"
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvpgateway.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvpgateway.jsp
index 8acd725c7..13fc77081 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvpgateway.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvpgateway.jsp
@@ -6,8 +6,8 @@
<div id="oa_pvp2_area" class="oa_protocol_area">
<h4><%=LanguageHelper.getGUIString("webpages.inderfederation.moaid.header", request) %></h4>
- <s:textfield name="pvpGateway.entityID"
- value="%{pvpGateway.entityID}"
+ <s:textfield name="pVPGateway.entityID"
+ value="%{pVPGateway.entityID}"
labelposition="left"
key="webpages.inderfederation.gateway.entityID"
cssClass="textfield_long">
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 8f2ba1a41..d4686bd5e 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
@@ -491,6 +491,8 @@
<xsd:sequence>
<xsd:element name="attributeQueryURL" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="storeSSOSession" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="performPassivRequest" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="performLocalAuthenticationOnError" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="inboundSSO" type="xsd:boolean" default="true"/>
<xsd:attribute name="outboundSSO" type="xsd:boolean" default="true"/>