diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2019-12-11 12:45:58 +0100 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2019-12-11 12:45:58 +0100 | 
| commit | 3734d910935f34427632a36206aa3b6b0822c9bf (patch) | |
| tree | 4a834c00ea143eb331ae633d847e47a051408a17 /connector/src/main | |
| parent | 7bdb891ffe9e14e86b23a10579c8d97759ba4830 (diff) | |
| download | National_eIDAS_Gateway-3734d910935f34427632a36206aa3b6b0822c9bf.tar.gz National_eIDAS_Gateway-3734d910935f34427632a36206aa3b6b0822c9bf.tar.bz2 National_eIDAS_Gateway-3734d910935f34427632a36206aa3b6b0822c9bf.zip | |
fix LoA level validation error in AuthnRequestValidator.java
Diffstat (limited to 'connector/src/main')
| -rw-r--r-- | connector/src/main/java/at/asitplus/eidas/specific/connector/verification/AuthnRequestValidator.java | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/verification/AuthnRequestValidator.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/verification/AuthnRequestValidator.java index 0230521c..87c23dee 100644 --- a/connector/src/main/java/at/asitplus/eidas/specific/connector/verification/AuthnRequestValidator.java +++ b/connector/src/main/java/at/asitplus/eidas/specific/connector/verification/AuthnRequestValidator.java @@ -103,12 +103,13 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {        if (StringUtils.isEmpty(providerName)) {          log.info("Authn. request contains NO SP friendlyName");        } else { -        pendingReq.setRawDataToTransaction(MsEidasNodeConstants.DATA_PROVIDERNAME, spEntityId); +        pendingReq.setRawDataToTransaction(MsEidasNodeConstants.DATA_PROVIDERNAME, providerName);        }        // post-process requested LoA        final List<String> reqLoA = extractLoA(authnReq); - +      log.trace("SP requests LoA with: {}", String.join(", ",reqLoA)); +              LevelOfAssurance minimumLoAFromConfig = LevelOfAssurance.fromString(basicConfig.getBasicConfiguration(            MsEidasNodeConstants.PROP_EIDAS_REQUEST_LOA_MINIMUM_LEVEL,            EaafConstants.EIDAS_LOA_HIGH)); @@ -118,21 +119,21 @@ public class AuthnRequestValidator implements IAuthnRequestValidator {          minimumLoAFromConfig = LevelOfAssurance.HIGH;        } - +                    log.trace("Validate requested LoA to connector configuration minimum LoA: {} ...", -          minimumLoAFromConfig); +          minimumLoAFromConfig);              final List<String> allowedLoA = new ArrayList<>();        for (final String loa : reqLoA) {          try {            final LevelOfAssurance intLoa = LevelOfAssurance.fromString(loa);            String selectedLoA = EaafConstants.EIDAS_LOA_HIGH;            if (intLoa != null  -              && intLoa.numericValue() >= minimumLoAFromConfig.numericValue()) { +              && intLoa.numericValue() <= minimumLoAFromConfig.numericValue()) {              log.info("Client: {} requested LoA: {} will be upgraded to: {}",                  pendingReq.getServiceProviderConfiguration().getUniqueIdentifier(),                  loa,                  minimumLoAFromConfig); -            selectedLoA = intLoa.getValue(); +            selectedLoA = minimumLoAFromConfig.getValue();            } | 
