aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java31
1 files changed, 27 insertions, 4 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
index b0a4f2f8a..3f82c2a4c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
@@ -36,6 +36,8 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
String targetFriendlyName = null;
+ String sso = req.getParameter(PARAM_SSO);
+
// escape parameter strings
//TODO: use URLEncoder.encode!!
target = StringEscapeUtils.escapeHtml(target);
@@ -44,7 +46,8 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
templateURL = StringEscapeUtils.escapeHtml(templateURL);
useMandate = StringEscapeUtils.escapeHtml(useMandate);
ccc = StringEscapeUtils.escapeHtml(ccc);
-
+ sso = StringEscapeUtils.escapeHtml(sso);
+
// check parameter
if (!ParamValidatorUtils.isValidOA(oaURL))
throw new WrongParametersException("StartAuthentication", PARAM_OA, "auth.12");
@@ -52,7 +55,9 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
throw new WrongParametersException("StartAuthentication", PARAM_USEMANDATE, "auth.12");
if (!ParamValidatorUtils.isValidCCC(ccc))
throw new WrongParametersException("StartAuthentication", PARAM_CCC, "auth.12");
-
+ if (!ParamValidatorUtils.isValidUseMandate(sso))
+ throw new WrongParametersException("StartAuthentication", PARAM_SSO, "auth.12");
+
//check UseMandate flag
String useMandateString = null;
boolean useMandateBoolean = false;
@@ -68,7 +73,23 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
useMandateBoolean = false;
moasession.setUseMandate(useMandateString);
-
+
+
+ //check useSSO flag
+ String useSSOString = null;
+ boolean useSSOBoolean = false;
+ if ((sso != null) && (sso.compareTo("") != 0)) {
+ useSSOString = sso;
+ } else {
+ useSSOString = "false";
+ }
+
+ if (useSSOString.compareToIgnoreCase("true") == 0)
+ useSSOBoolean = true;
+ else
+ useSSOBoolean = false;
+ moasession.setSsoRequested(useSSOBoolean);
+
//load OnlineApplication configuration
OAAuthParameter oaParam;
if (moasession.getPublicOAURLPrefix() != null) {
@@ -126,9 +147,11 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
}
moasession.setPublicOAURLPrefix(oaParam.getPublicURLPrefix());
+
+ //TODO: check for SSO
moasession.setTarget(target);
- moasession.setTargetFriendlyName(targetFriendlyName);
moasession.setBusinessService(oaParam.getBusinessService());
+ moasession.setTargetFriendlyName(targetFriendlyName);
moasession.setDomainIdentifier(oaParam.getIdentityLinkDomainIdentifier());
}