aboutsummaryrefslogtreecommitdiff
path: root/connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2018-07-20 10:56:04 +0200
committerThomas Lenz <thomas.lenz@egiz.gv.at>2018-07-20 10:56:04 +0200
commit31bc1246bb56fcd8807678e3f7516023bdfaed44 (patch)
tree0c3ed662a5be943a4ceb70d021e1bb7ac9dc1015 /connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java
parent2945c875bda2c8236d0b3fd630358fcaca85f4a8 (diff)
downloadNational_eIDAS_Gateway-31bc1246bb56fcd8807678e3f7516023bdfaed44.tar.gz
National_eIDAS_Gateway-31bc1246bb56fcd8807678e3f7516023bdfaed44.tar.bz2
National_eIDAS_Gateway-31bc1246bb56fcd8807678e3f7516023bdfaed44.zip
add SZR client
add different logging backends define errorcodes and error messages update to eIDAS Ref. impl 2.1
Diffstat (limited to 'connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java')
-rw-r--r--connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java34
1 files changed, 15 insertions, 19 deletions
diff --git a/connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java b/connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java
index 1b912ed4..0217eec4 100644
--- a/connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java
+++ b/connector/src/main/java/at/gv/egiz/eidas/specific/connector/verification/AuthnRequestValidator.java
@@ -60,11 +60,11 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {
String spEntityId = extractScopeRequsterId(authnReq);
if (StringUtils.isEmpty(spEntityId)) {
log.info("NO service-provider entityID in Authn. request. Stop authn. process ... ");
- throw new AuthnRequestValidatorException("TODO", null,
- "NO service-provider entityID in Authn. request", pendingReq);
+ throw new AuthnRequestValidatorException("pvp2.22",
+ new Object[] {"NO relaying-party entityID in Authn. request"}, pendingReq);
} else
- pendingReq.setGenericDataToSession(MSeIDASNodeConstants.DATA_REQUESTERID, spEntityId);
+ pendingReq.setRawDataToTransaction(MSeIDASNodeConstants.DATA_REQUESTERID, spEntityId);
//post-process ProviderName
@@ -72,17 +72,15 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {
if (StringUtils.isEmpty(providerName))
log.info("Authn. request contains NO SP friendlyName");
else
- pendingReq.setGenericDataToSession(MSeIDASNodeConstants.DATA_PROVIDERNAME, spEntityId);
+ pendingReq.setRawDataToTransaction(MSeIDASNodeConstants.DATA_PROVIDERNAME, spEntityId);
- //TODO: set to SPConfiguration
//post-process requested LoA
List<String> reqLoA = extractLoA(authnReq);
- pendingReq.setGenericDataToSession(MSeIDASNodeConstants.DATA_REQUESTED_LOA_LIST, reqLoA);
-
- //TODO: set to SPConfiguration
+ pendingReq.getServiceProviderConfiguration(ServiceProviderConfiguration.class).setRequiredLoA(reqLoA);
+
//post-process requested LoA comparison-level
String reqLoAComperison = extractComparisonLevel(authnReq);
- pendingReq.setGenericDataToSession(MSeIDASNodeConstants.DATA_REQUESTED_LOA_COMPERISON, reqLoAComperison);
+ pendingReq.getServiceProviderConfiguration(ServiceProviderConfiguration.class).setLoAMachtingMode(reqLoAComperison);
//validate and process requested attributes
boolean sectorDetected = false;
@@ -124,15 +122,13 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {
if (!sectorDetected) {
log.info("Authn.Req validation FAILED. Reason: Contains NO or NO VALID target-sector information.");
- throw new AuthnRequestValidatorException("TODO", null,
- "Authn.Req validation FAILED. Reason: Contains NO or NO VALID target-sector information.");
+ throw new AuthnRequestValidatorException("pvp2.22", new Object[] {"NO or NO VALID target-sector information"});
}
} catch (EAAFStorageException e) {
log.info("Can NOT store Authn. Req. data into pendingRequest." , e);
- throw new AuthnRequestValidatorException("TODO", null,
- "Can NOT store Authn. Req. data into pendingRequest.", e);
+ throw new AuthnRequestValidatorException("internal.02", null, e);
}
@@ -159,9 +155,9 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {
} else if (authContext.getAuthnContextClassRefs().size() > 1) {
log.info("Authn. Req. contains MORE THAN ONE requested LoA, but "
+ AuthnContextComparisonTypeEnumeration.MINIMUM + " allows only one" );
- throw new AuthnRequestValidatorException("TODO", null,
- "Authn. Req. contains MORE THAN ONE requested LoA, but "
- + AuthnContextComparisonTypeEnumeration.MINIMUM + " allows only one");
+ throw new AuthnRequestValidatorException("pvp2.22",
+ new Object[] {"Authn. Req. contains MORE THAN ONE requested LoA, but "
+ + AuthnContextComparisonTypeEnumeration.MINIMUM + " allows only one"});
} else
result.add(authContext.getAuthnContextClassRefs().get(0).getAuthnContextClassRef());
@@ -173,9 +169,9 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {
} else {
log.info("Currently only '" + AuthnContextComparisonTypeEnumeration.MINIMUM + "' and '"
+ AuthnContextComparisonTypeEnumeration.EXACT + "' are supported");
- throw new AuthnRequestValidatorException("TODO", null,
- "Currently only '" + AuthnContextComparisonTypeEnumeration.MINIMUM + "' and '"
- + AuthnContextComparisonTypeEnumeration.EXACT + "' are supported");
+ throw new AuthnRequestValidatorException("pvp2.22",
+ new Object[] {"Currently only '" + AuthnContextComparisonTypeEnumeration.MINIMUM + "' and '"
+ + AuthnContextComparisonTypeEnumeration.EXACT + "' are supported"});
}