aboutsummaryrefslogtreecommitdiff
path: root/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2020-12-09 16:24:21 +0100
committerThomas Lenz <thomas.lenz@egiz.gv.at>2020-12-09 16:24:21 +0100
commit13a046b8df16ed037d2b9bc84969b583e89b8e53 (patch)
tree30d25a3a302b3a68edaf6eb9e796dc108d5b23ec /id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java
parentab5efe91d1779893723a7085e1f8984a4b9b466f (diff)
parent980a89b39e14b461e660abc9b96fde06c59f10fe (diff)
downloadmoa-id-spss-13a046b8df16ed037d2b9bc84969b583e89b8e53.tar.gz
moa-id-spss-13a046b8df16ed037d2b9bc84969b583e89b8e53.tar.bz2
moa-id-spss-13a046b8df16ed037d2b9bc84969b583e89b8e53.zip
Merge branch 'current_development' into 'development_preview'
Current development See merge request egiz/moa-idspss!1
Diffstat (limited to 'id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java')
-rw-r--r--id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java45
1 files changed, 43 insertions, 2 deletions
diff --git a/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java b/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java
index 0de1a9df2..f58ca4743 100644
--- a/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java
+++ b/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/Utils.java
@@ -9,14 +9,24 @@ import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;
import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
import at.gv.egovernment.moa.id.auth.modules.eidproxyauth.EIDProxyAuthConstants;
import at.gv.egovernment.moa.id.commons.api.AuthConfiguration;
+import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters;
import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
public class Utils {
+ public static final String CONFIG_PROP_EID_APPREG_ID_LAYOUT_V2 =
+ "modules.eidproxyauth.appreg.id.layout.v2";
+
public static final String PARAM_APPREG_SP_ID = "?sp=";
- public static String getEidSystemApplicationId(ISPConfiguration spConfiguration, String authUrl) {
+ public static final String PARAM_PROTOCOL_SAML1 = "/saml1";
+ public static final String PARAM_PROTOCOL_SAML2 = "/saml2";
+ public static final String PARAM_PROTOCOL_OIDC = "/oidc";
+
+ public static String getEidSystemApplicationId(ISPConfiguration spConfiguration, String authUrl,
+ IConfiguration authConfig) {
StringBuilder builder = new StringBuilder();
if (authUrl.endsWith("/")) {
builder.append(authUrl.substring(0, authUrl.length() - 1));
@@ -25,13 +35,43 @@ public class Utils {
builder.append(authUrl);
}
+
+ if (authConfig.getBasicConfigurationBoolean(Utils.CONFIG_PROP_EID_APPREG_ID_LAYOUT_V2, true)) {
+ builder.append(selectProtocolFromSpConfig(spConfiguration));
+
+ }
builder.append(PARAM_APPREG_SP_ID);
builder.append(spConfiguration.getUniqueIdentifier());
return builder.toString();
}
- public static String getEIDSystemEntityId(ISPConfiguration spConfiguration, IConfiguration authConfig) {
+ private static String selectProtocolFromSpConfig(ISPConfiguration spConfiguration) {
+ if (spConfiguration instanceof IOAAuthParameters) {
+ IOAAuthParameters spConf = (IOAAuthParameters) spConfiguration;
+ if (MiscUtil.isNotEmpty(
+ spConf.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL))) {
+ Logger.debug("SP: " + spConf.getUniqueIdentifier() + " marked as: " + PARAM_PROTOCOL_SAML2);
+ return PARAM_PROTOCOL_SAML2;
+
+ } else if (MiscUtil.isNotEmpty(
+ spConf.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_OPENID_REDIRECTURL))) {
+ Logger.debug("SP: " + spConf.getUniqueIdentifier() + " marked as: " + PARAM_PROTOCOL_OIDC);
+ return PARAM_PROTOCOL_OIDC;
+
+ }
+
+ } else {
+ Logger.warn("Can NOT estimate type of SPConfiguration. Use SAML1 as default");
+
+ }
+
+ Logger.debug("SP: " + spConfiguration.getUniqueIdentifier() + " marked as: " + PARAM_PROTOCOL_SAML1);
+ return PARAM_PROTOCOL_SAML1;
+
+ }
+
+ public static String getEIDSystemEntityId(ISPConfiguration spConfiguration, IConfiguration authConfig) {
//load from service-provider configuration
String msNodeEntityID = spConfiguration.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_EXTERNAL_EID_SYSTEM_SERVICE_URL);
@@ -59,4 +99,5 @@ public class Utils {
return msNodeEntityID;
}
+
}