aboutsummaryrefslogtreecommitdiff
path: root/eidas_modules
diff options
context:
space:
mode:
authorChristian Kollmann <christian.kollmann@a-sit.at>2021-11-30 15:40:53 +0100
committerChristian Kollmann <christian.kollmann@a-sit.at>2021-12-01 09:30:06 +0100
commit38c46d567ea517bbdea07b922c34cb2add6eccf3 (patch)
tree48fa7ed1d02d251887c3b5aab431bd6f215bbc65 /eidas_modules
parentdcba52858a8815a99628e1198505b6a3e9369e85 (diff)
downloadNational_eIDAS_Gateway-38c46d567ea517bbdea07b922c34cb2add6eccf3.tar.gz
National_eIDAS_Gateway-38c46d567ea517bbdea07b922c34cb2add6eccf3.tar.bz2
National_eIDAS_Gateway-38c46d567ea517bbdea07b922c34cb2add6eccf3.zip
Fix comparison of data sets
Fixes #16
Diffstat (limited to 'eidas_modules')
-rw-r--r--eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java23
-rw-r--r--eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java2
-rw-r--r--eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java3
3 files changed, 7 insertions, 21 deletions
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
index 35f353f4..5ad92507 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
@@ -23,12 +23,10 @@
package at.asitplus.eidas.specific.modules.auth.eidas.v2.dao;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-
-import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.WorkflowException;
import at.gv.e_government.reference.namespace.persondata._20020228.PostalAddressType;
import lombok.Builder;
import lombok.Data;
+import org.apache.commons.lang3.builder.EqualsBuilder;
@Data
@Builder
@@ -60,27 +58,18 @@ public class SimpleEidasData {
private final String taxNumber;
/**
- * Compares the register result with the eidas data.
+ * Compares the register result with the EIDAS data (given name, family name, date of birth, personal identifier).
*
* @param result The register data to use for comparison
- * @return true or false depending of the data matches
- * @throws WorkflowException if multiple results have been found
+ * @return whether the data (given name, family name, date of birth, personal identifier) match
*/
- public boolean equalsRegisterData(RegisterResult result) throws WorkflowException {
- /*TODO: maybe this is check is not valid, because only the minimum data-set (personalIdentifer, givenName,
- * familyName, dateOfBirth) has to be always available. Any other attributes are optional.
- * This check will always evaluate to false if register has more information as current eIDAS process!!!
- */
-
+ public boolean equalsRegisterData(RegisterResult result) {
return new EqualsBuilder()
.append(result.getGivenName(), givenName)
.append(result.getFamilyName(), familyName)
.append(result.getDateOfBirth(), dateOfBirth)
- .append(result.getPlaceOfBirth(), placeOfBirth)
- .append(result.getBirthName(), birthName)
- .append(result.getTaxNumber(), taxNumber)
- .isEquals() && result.getPseudonym().stream()
- .anyMatch(el -> el.equals(pseudonym));
+ .isEquals()
+ && result.getPseudonym().stream().anyMatch(el -> el.equals(pseudonym));
}
/**
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java
index 6b0f336e..f295d66b 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java
@@ -181,7 +181,7 @@ public class InitialSearchTask extends AbstractAuthServletTask {
}
private RegisterResult step3CheckRegisterUpdateNecessary(RegisterResult searchResult,
- SimpleEidasData eidasData) throws WorkflowException {
+ SimpleEidasData eidasData) {
log.trace("Starting step3CheckRegisterUpdateNecessary");
if (!eidasData.equalsRegisterData(searchResult)) {
log.info("Skipping update-register-information step, because it's not supported yet");
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java
index 53485b03..b9a55df4 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java
@@ -158,9 +158,6 @@ public class ReceiveAustrianResidenceGuiResponseTask extends AbstractAuthServlet
RegisterStatusResults residencyResult, SimpleEidasData eidasData)
throws TaskExecutionException, EaafStorageException {
try {
- /*TODO: check 'equalsRegisterData' because this method maybe this method evaluate to an invalid result.
- * See TODO in methods body
- */
if (eidasData.equalsRegisterData(residencyResult.getResult())) {
// update register information
registerSearchService.step7aKittProcess(residencyResult, eidasData);