diff --git a/src/main/java/org/eclipse/tractusx/managedidentitywallets/service/PresentationService.java b/src/main/java/org/eclipse/tractusx/managedidentitywallets/service/PresentationService.java index c90de34a2..2f15ae2dc 100644 --- a/src/main/java/org/eclipse/tractusx/managedidentitywallets/service/PresentationService.java +++ b/src/main/java/org/eclipse/tractusx/managedidentitywallets/service/PresentationService.java @@ -57,9 +57,7 @@ import org.springframework.util.StringUtils; import java.net.URI; -import java.net.URLDecoder; import java.net.http.HttpClient; -import java.nio.charset.Charset; import java.util.*; /** @@ -101,6 +99,8 @@ protected SpecificationUtil getSpecificationUtil() { * @return the map */ public Map createPresentation(Map data, boolean asJwt, String audience, String callerBpn) { + + Map response = new HashMap<>(); String holderIdentifier = data.get(StringPool.HOLDER_IDENTIFIER).toString(); @@ -108,6 +108,9 @@ public Map createPresentation(Map data, boolean //check if holder wallet is in the system Wallet holderWallet = commonService.getWalletByIdentifier(holderIdentifier); + //validate BPN access - Issuer(Creator) of VP must be caller Issuer of VP must be holder of VC + Validate.isFalse(holderWallet.getBpn().equalsIgnoreCase(callerBpn)).launch(new ForbiddenException("Holder identifier is not matching with request BPN(from the token)")); + List> verifiableCredentialList = (List>) data.get(StringPool.VERIFIABLE_CREDENTIALS); @@ -120,12 +123,6 @@ public Map createPresentation(Map data, boolean verifiableCredentials.add(verifiableCredential); }); - String issuerDidString = URLDecoder.decode(verifiableCredentials.get(0).getIssuer().toString(), Charset.defaultCharset()); - Did issuerDid = DidParser.parse(verifiableCredentials.get(0).getIssuer()); - commonService.getWalletByIdentifier(issuerDidString); - - //validate BPN access - Issuer(Creator) of VP must be caller Issuer of VP must be holder of VC - Validate.isFalse(holderWallet.getBpn().equalsIgnoreCase(callerBpn)).launch(new ForbiddenException("Issuer wallet BPN is not matching with request BPN(from the token)")); if (asJwt) {