diff --git a/src/main/java/acs/acs/src/Main.java b/src/main/java/acs/acs/src/Main.java index ad93908..5f42d39 100644 --- a/src/main/java/acs/acs/src/Main.java +++ b/src/main/java/acs/acs/src/Main.java @@ -103,7 +103,7 @@ public class Main { Logger.displayInfo("Détails de la carte OK"); PrivateKey privateKey = CryptoUtils.getPrivateKey(KEY_STORE_PATH, KEY_STORE_PWD, "acs"); - String token = tokenManager.generateAndStoreToken(); + String token = tokenManager.generateAndStoreTokenFor(creditCard.number()); String signedToken = CryptoUtils.signData(privateKey, token); Map data = Map.of("token", token, "signature", signedToken); diff --git a/src/main/java/acs/acs/src/TokenManager.java b/src/main/java/acs/acs/src/TokenManager.java index 259b6a3..374895f 100644 --- a/src/main/java/acs/acs/src/TokenManager.java +++ b/src/main/java/acs/acs/src/TokenManager.java @@ -2,18 +2,19 @@ package acs.acs.src; import common.common.src.crypto.CryptoUtils; -import java.util.HashSet; +import java.util.HashMap; +import java.util.Map; public class TokenManager { - private final HashSet tokens = new HashSet(); + private final Map tokens = new HashMap(); - public String generateAndStoreToken() { + public String generateAndStoreTokenFor(String cardNumber) { String token = CryptoUtils.generateToken(); - tokens.add(token); + tokens.put(cardNumber, token); return token; } public boolean isValidToken(String token) { - return tokens.contains(token); + return tokens.containsValue(token); } }