aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java36
1 files changed, 20 insertions, 16 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java
index bc3645e74..79b09503f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DynamicOAAuthParameterBuilder.java
@@ -22,6 +22,7 @@
*/
package at.gv.egovernment.moa.id.auth.builder;
+import java.lang.reflect.InvocationTargetException;
import java.util.List;
import org.opensaml.saml2.core.Attribute;
@@ -35,7 +36,6 @@ import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.config.auth.data.DynamicOAAuthParameters;
import at.gv.egovernment.moa.id.moduls.IRequest;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
-import at.gv.egovernment.moa.id.protocols.stork2.MOASTORKRequest;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.Constants;
@@ -121,24 +121,28 @@ public class DynamicOAAuthParameterBuilder {
dynOAParams.setApplicationID(oaParam.getPublicURLPrefix());
dynOAParams.setBusinessService(oaParam.getBusinessService());
- if (protocolRequest instanceof MOASTORKRequest)
- return buildFromSTORKRequest(dynOAParams, (MOASTORKRequest) protocolRequest);
+ Object storkRequst = null;
+ try {
+ storkRequst = Class.forName("at.gv.egovernment.moa.id.protocols.stork2.MOASTORKRequest").newInstance();
+ if (storkRequst != null &&
+ protocolRequest.getClass().isInstance(storkRequst)) {
+
+ dynOAParams.setBusinessTarget(Constants.URN_PREFIX_STORK + "+" + "AT" + "+"
+ + protocolRequest.getClass().getMethod("getSpCountry", null).invoke(protocolRequest, null));
+ dynOAParams.setBusinessService(true);
+
+ }
+
+ } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | java.lang.SecurityException ex) {
+
+
+ }
+
+// if (protocolRequest instanceof MOASTORKRequest)
+// return buildFromSTORKRequest(dynOAParams, (MOASTORKRequest) protocolRequest);
Logger.warn("Dynamic OA generation failed. RequestType is not implemented.");
return null;
}
- /**
- * @param oaParam
- * @param protocolRequest
- * @return
- */
- private static IOAAuthParameters buildFromSTORKRequest(
- DynamicOAAuthParameters oaParam, MOASTORKRequest protocolRequest) {
-
- oaParam.setBusinessTarget(Constants.URN_PREFIX_STORK + "+" + "AT" + "+" + protocolRequest.getSpCountry());
- oaParam.setBusinessService(true);
-
- return oaParam;
- }
}