diff options
Diffstat (limited to 'id')
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"/> |