aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java78
1 files changed, 69 insertions, 9 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java
index d99e92b22..d3c26cdbe 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java
@@ -35,7 +35,6 @@ import at.gv.egovernment.moa.id.config.ConnectionParameterMandate;
import at.gv.egovernment.moa.id.config.auth.data.ProtocolAllowed;
import at.gv.egovernment.moa.id.config.stork.STORKConfig;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVP2XProtocol;
-import at.gv.egovernment.moa.id.protocols.saml1.SAML1Protocol;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -302,7 +301,7 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
List<String> legacy = new ArrayList<String>();
try {
if (configuration.getBooleanValue(MOAIDConfigurationConstants.GENERAL_PROTOCOLS_SAML1_LEGACY, false))
- legacy.add(SAML1Protocol.PATH);
+ legacy.add("id_saml1");
if (configuration.getBooleanValue(MOAIDConfigurationConstants.GENERAL_PROTOCOLS_PVP2X_LEGACY, false))
legacy.add(PVP2XProtocol.PATH);
@@ -322,8 +321,7 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
*/
public OAAuthParameter getOnlineApplicationParameter(String oaURL) {
Map<String, String> oa = getActiveOnlineApplication(oaURL);
- if (oa == null) {
- Logger.warn("Online application with identifier " + oaURL + " is not found.");
+ if (oa == null) {
return null;
}
@@ -336,7 +334,14 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
* @return a string with a url-reference to the VerifyAuthBlock trust profile ID.
* @throws ConfigurationException is thrown in case of missing {@link AuthComponentGeneral} or in case of missing {@link MOASP}.
*/
- public String getMoaSpAuthBlockTrustProfileID() throws ConfigurationException {
+ public String getMoaSpAuthBlockTrustProfileID(boolean useTestTrustStore) throws ConfigurationException {
+ if (useTestTrustStore)
+ return getMoaSpAuthBlockTestTrustProfileID();
+ else
+ return getMoaSpAuthBlockTrustProfileID();
+ }
+
+ private String getMoaSpAuthBlockTrustProfileID() throws ConfigurationException {
try {
return configuration.getStringValue(
MOAIDConfigurationConstants.GENERAL_AUTH_MOASP_TRUSTPROFILE_AUTHBLOCK_PROD);
@@ -346,7 +351,39 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
return null;
}
}
+
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.config.auth.AuthConfiguration#getMoaSpAuthBlockTestTrustProfileID()
+ */
+ private String getMoaSpAuthBlockTestTrustProfileID()
+ throws ConfigurationException {
+ try {
+ return configuration.getStringValue(
+ MOAIDConfigurationConstants.GENERAL_AUTH_MOASP_TRUSTPROFILE_AUTHBLOCK_TEST);
+
+ } catch (at.gv.egiz.components.configuration.api.ConfigurationException e) {
+ Logger.warn("Test-AuthBlock validation trustprofile can not be read from configuration.", e);
+ return null;
+ }
+ }
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.config.auth.AuthConfiguration#getMoaSpIdentityLinkTestTrustProfileID()
+ */
+ private String getMoaSpIdentityLinkTestTrustProfileID()
+ throws ConfigurationException {
+ try {
+ return configuration.getStringValue(
+ MOAIDConfigurationConstants.GENERAL_AUTH_MOASP_TRUSTPROFILE_IDL_TEST);
+
+ } catch (at.gv.egiz.components.configuration.api.ConfigurationException e) {
+ Logger.warn("Test-IdentityLink validation trustprofile can not be read from configuration.", e);
+ return null;
+ }
+ }
+
+
/**
* Returns a list of strings with references to all verify transform info IDs within the moa-sp part of the authentication component.
*
@@ -448,7 +485,7 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
* @return String with a url-reference to the VerifyIdentityLink trust profile ID
* @throws ConfigurationException is thrown in case of missing {@link AuthComponentGeneral} or in case of missing {@link VerifyIdentityLink}.
*/
- public String getMoaSpIdentityLinkTrustProfileID() throws ConfigurationException {
+ private String getMoaSpIdentityLinkTrustProfileID() throws ConfigurationException {
try {
return configuration.getStringValue(
MOAIDConfigurationConstants.GENERAL_AUTH_MOASP_TRUSTPROFILE_IDL_PROD);
@@ -972,15 +1009,27 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
* @return the requested online application or {@code null}
*/
public Map<String, String> getActiveOnlineApplication(String id) {
- Logger.trace("Get active OnlineApplication with ID " + id + " from database.");
+ Logger.trace("Get active OnlineApplication with ID " + id + " from database.");
+ Map<String, String> oaConfig = null;
try {
- Map<String, String> oaConfig = configuration.getOnlineApplication(id);
+ //OracleDB does not allow the selection of a lob in SQL where expression
+ String dbDriver = properties.getProperty("configuration.hibernate.connection.driver_class");
+ if (MiscUtil.isNotEmpty(dbDriver) && dbDriver.startsWith("oracle.jdbc."))
+ oaConfig = configuration.getOnlineApplicationBackupVersion(id);
+
+ else
+ oaConfig = configuration.getOnlineApplication(id);
+
if (oaConfig != null) {
String isActiveString = oaConfig.get(MOAIDConfigurationConstants.SERVICE_ISACTIVE);
if (isActiveString != null && Boolean.valueOf(isActiveString))
return oaConfig;
- }
+ else
+ Logger.info("Online application with identifier " + id + " is found, but NOT active.");
+
+ } else
+ Logger.warn("Online application with identifier " + id + " is not found.");
} catch (at.gv.egiz.components.configuration.api.ConfigurationException e) {
@@ -1089,4 +1138,15 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide
return null;
}
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.config.auth.AuthConfiguration#getMoaSpIdentityLinkTrustProfileID(boolean)
+ */
+ @Override
+ public String getMoaSpIdentityLinkTrustProfileID(boolean useTestTrustStore)
+ throws ConfigurationException {
+ if (useTestTrustStore)
+ return getMoaSpIdentityLinkTestTrustProfileID();
+ else
+ return getMoaSpIdentityLinkTrustProfileID();
+ }
}