aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java40
1 files changed, 22 insertions, 18 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java
index 8065af1a6..bca080ba6 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVP2XProtocol.java
@@ -56,15 +56,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import at.gv.egovernment.moa.id.advancedlogging.MOAIDEventConstants;
-import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;
import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.InvalidProtocolRequestException;
-import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.ProtocolNotActiveException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.frontend.velocity.VelocityLogAdapter;
+import at.gv.egovernment.moa.id.commons.MOAIDAuthConstants;
+import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters;
+import at.gv.egovernment.moa.id.commons.api.IRequest;
+import at.gv.egovernment.moa.id.commons.api.exceptions.MOAIDException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory;
-import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
-import at.gv.egovernment.moa.id.moduls.IRequest;
import at.gv.egovernment.moa.id.moduls.NoPassivAuthenticationException;
import at.gv.egovernment.moa.id.protocols.AbstractAuthProtocolModulController;
import at.gv.egovernment.moa.id.protocols.pvp2x.binding.IEncoder;
@@ -95,7 +96,6 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.verification.TrustEngineFactory;
import at.gv.egovernment.moa.id.util.ErrorResponseUtils;
import at.gv.egovernment.moa.id.util.HTTPUtils;
import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
-import at.gv.egovernment.moa.id.util.VelocityLogAdapter;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -114,12 +114,7 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
public static final String METADATA = "Metadata";
public static final String ATTRIBUTEQUERY = "AttributeQuery";
public static final String SINGLELOGOUT = "SingleLogOut";
-
- public static final String ENDPOINT_IDP = "idp";
- public static final String ENDPOINT_SP = "sp";
- public static final String PARAMETER_ENDPOINT = "endpointtype";
-
public static final List<String> DEFAULTREQUESTEDATTRFORINTERFEDERATION = Arrays.asList(
new String[] {
PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME
@@ -208,12 +203,15 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
String samlRequest = req.getParameter("SAMLRequest");
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+
+ } catch (MOAIDException e) {
+ throw e;
} catch (Throwable e) {
String samlRequest = req.getParameter("SAMLRequest");
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
- throw new MOAIDException(e.getMessage(), new Object[] {});
+ throw new MOAIDException("pvp2.24", new Object[] {e.getMessage()});
}
}
@@ -243,7 +241,7 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
//get POST-Binding decoder implementation
InboundMessage msg = (InboundMessage) new RedirectBinding().decode(
req, resp, MOAMetadataProvider.getInstance(), false,
- new MOAURICompare(PVPConfiguration.getInstance().getIDPSSOPostService(pendingReq.getAuthURL())));
+ new MOAURICompare(PVPConfiguration.getInstance().getIDPSSORedirectService(pendingReq.getAuthURL())));
pendingReq.setRequest(msg);
//preProcess Message
@@ -259,11 +257,14 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+ } catch (MOAIDException e) {
+ throw e;
+
} catch (Throwable e) {
String samlRequest = req.getParameter("SAMLRequest");
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
- throw new MOAIDException(e.getMessage(), new Object[] {});
+ throw new MOAIDException("pvp2.24", new Object[] {e.getMessage()});
}
}
@@ -309,12 +310,15 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
String samlRequest = req.getParameter("SAMLRequest");
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
-
+
+ } catch (MOAIDException e) {
+ throw e;
+
} catch (Throwable e) {
String samlRequest = req.getParameter("SAMLRequest");
Logger.warn("Receive INVALID protocol request: " + samlRequest, e);
- throw new MOAIDException(e.getMessage(), new Object[] {});
+ throw new MOAIDException("pvp2.24", new Object[] {e.getMessage()});
}
}
@@ -496,7 +500,7 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
String oaURL = metadata.getEntityID();
oaURL = StringEscapeUtils.escapeHtml(oaURL);
- OAAuthParameter oa = AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(oaURL);
+ IOAAuthParameters oa = authConfig.getOnlineApplicationParameter(oaURL);
Logger.info("Dispatch PVP2 SingleLogOut: OAURL=" + oaURL + " Binding=" + msg.getRequestBinding());
@@ -579,7 +583,7 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
throw new WrongParametersException("StartAuthentication",
PARAM_OA, "auth.12");
- OAAuthParameter oa = authConfig.getOnlineApplicationParameter(moaRequest.getEntityID());
+ IOAAuthParameters oa = authConfig.getOnlineApplicationParameter(moaRequest.getEntityID());
if (!oa.isInderfederationIDP()) {
Logger.warn("AttributeQuery requests are only allowed for interfederation IDPs.");
throw new AttributQueryException("AttributeQuery requests are only allowed for interfederation IDPs.", null);
@@ -733,7 +737,7 @@ public class PVP2XProtocol extends AbstractAuthProtocolModulController {
String oaURL = moaRequest.getEntityMetadata().getEntityID();
oaURL = StringEscapeUtils.escapeHtml(oaURL);
- OAAuthParameter oa = AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(oaURL);
+ IOAAuthParameters oa = authConfig.getOnlineApplicationParameter(oaURL);
Logger.info("Dispatch PVP2 AuthnRequest: OAURL=" + oaURL + " Binding=" + consumerService.getBinding());