aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
index 2c4b7c4c5..f3df7a4df 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
@@ -1,5 +1,7 @@
package at.gv.egovernment.moa.id.protocols.saml1;
+import java.io.IOException;
+import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
@@ -11,7 +13,11 @@ import org.apache.commons.lang.StringEscapeUtils;
import at.gv.egovernment.moa.id.AuthenticationException;
import at.gv.egovernment.moa.id.BuildException;
import at.gv.egovernment.moa.id.auth.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.builder.RedirectFormBuilder;
import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.servlet.RedirectServlet;
+import at.gv.egovernment.moa.id.commons.db.dao.session.AuthenticatedSessionStore;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
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;
@@ -19,6 +25,7 @@ import at.gv.egovernment.moa.id.data.AuthenticationData;
import at.gv.egovernment.moa.id.moduls.AuthenticationManager;
import at.gv.egovernment.moa.id.moduls.IAction;
import at.gv.egovernment.moa.id.moduls.IRequest;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.URLEncoder;
@@ -65,12 +72,13 @@ public class GetArtifactAction implements IAction {
//AuthenticationData authData = buildAuthenticationData(session, session.getXMLVerifySignatureResponse(),
// useUTC, false);
+ SAML1AuthenticationServer saml1server = SAML1AuthenticationServer.getInstace();
+
AuthenticationData authData = SAML1AuthenticationServer.buildAuthenticationData(session,
oaParam,
target);
- String samlArtifactBase64 = SAML1AuthenticationServer
- .BuildSAMLArtifact(session, oaParam, authData);
+ String samlArtifactBase64 = saml1server.BuildSAMLArtifact(session, oaParam, authData);
String redirectURL = oaURL;
session.getOAURLRequested();
@@ -85,8 +93,15 @@ public class GetArtifactAction implements IAction {
httpResp.setContentType("text/html");
httpResp.setStatus(302);
+
+// if (AuthenticationSessionStoreage.isSSOSession(session.getSessionID())) {
+// String url = "RedirectServlet?"+RedirectServlet.REDIRCT_GETPARAM+"="+redirectURL;
+// httpResp.addHeader("Location", url);
+//
+// } else {
+ httpResp.addHeader("Location", redirectURL);
+// }
- httpResp.addHeader("Location", redirectURL);
Logger.debug("REDIRECT TO: " + redirectURL);
// CONFIRMATION FOR SSO!
@@ -128,7 +143,13 @@ public class GetArtifactAction implements IAction {
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- }
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } //catch (MOADatabaseException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
}
protected static String addURLParameter(String url, String paramname,