diff options
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.java | 10 |
1 files changed, 10 insertions, 0 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 673b65243..4633f22d2 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 @@ -48,6 +48,7 @@ public class PVP2XProtocol implements IModulInfo, MOAIDAuthConstants { public static final String REDIRECT = "Redirect"; public static final String POST = "Post"; public static final String SOAP = "Soap"; + public static final String METADATA = "Metadata"; private static List<ServletInfo> servletList = new ArrayList<ServletInfo>(); @@ -70,6 +71,7 @@ public class PVP2XProtocol implements IModulInfo, MOAIDAuthConstants { actions.put(REDIRECT, new AuthenticationAction()); actions.put(POST, new AuthenticationAction()); + actions.put(METADATA, new MetadataAction()); instance = new PVP2XProtocol(); } @@ -118,6 +120,10 @@ public class PVP2XProtocol implements IModulInfo, MOAIDAuthConstants { public IRequest preProcess(HttpServletRequest request, HttpServletResponse response, String action) throws MOAIDException { + if(METADATA.equals(action)) { + return new PVPTargetConfiguration(); + } + IDecoder decoder = findDecoder(action); if (decoder == null) { return null; @@ -213,6 +219,10 @@ public class PVP2XProtocol implements IModulInfo, MOAIDAuthConstants { if(request.getParameter("SAMLRequest") != null) { return getAction(REDIRECT); } + + if(METADATA.equals(request.getParameter("action"))) { + return getAction(METADATA); + } return null; } |