diff options
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2')
2 files changed, 26 insertions, 3 deletions
| diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/AuthBlockSigningService.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/AuthBlockSigningService.java index cfaecfbb..234d52dd 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/AuthBlockSigningService.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/AuthBlockSigningService.java @@ -79,7 +79,8 @@ public class AuthBlockSigningService {      EidasAuchBlock authBlock = new EidasAuchBlock();      authBlock.setChallenge(UUID.randomUUID().toString());      authBlock.setTimestamp(LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS)); -    authBlock.setUniqueId(pendingReq.getRawData(MsEidasNodeConstants.DATA_REQUESTERID, String.class));     +    authBlock.setUniqueId(pendingReq.getRawData(MsEidasNodeConstants.DATA_REQUESTERID, String.class));  +    authBlock.setPiiTransactionId(pendingReq.getUniquePiiTransactionIdentifier());      String jwsPayload = mapper.writeValueAsString(authBlock);      log.debug("Building and sign authBlock with data: {}", jwsPayload); @@ -185,6 +186,9 @@ public class AuthBlockSigningService {      @JsonProperty("appId")      private String uniqueId; +    @JsonProperty("piiTransactionId") +    private String piiTransactionId; +        } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/CreateIdentityLinkTaskEidNewTest.java b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/CreateIdentityLinkTaskEidNewTest.java index dd485ee6..2bc0c86c 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/CreateIdentityLinkTaskEidNewTest.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/CreateIdentityLinkTaskEidNewTest.java @@ -39,6 +39,8 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  import org.springframework.web.context.request.RequestContextHolder;  import org.springframework.web.context.request.ServletRequestAttributes; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper;  import com.skjolberg.mockito.soap.SoapServiceRule;  import at.asitplus.eidas.specific.connector.MsEidasNodeConstants; @@ -110,6 +112,8 @@ public class CreateIdentityLinkTaskEidNewTest {            AlgorithmIdentifiers.ECDSA_USING_P521_CURVE_AND_SHA512, AlgorithmIdentifiers.RSA_PSS_USING_SHA256,            AlgorithmIdentifiers.RSA_PSS_USING_SHA512)); +  private ObjectMapper mapper = new ObjectMapper(); +      @Rule    public final SoapServiceRule soap = SoapServiceRule.newInstance(); @@ -151,7 +155,8 @@ public class CreateIdentityLinkTaskEidNewTest {      pendingReq.setPendingReqId(at.gv.egiz.eaaf.core.impl.utils.Random.nextProcessReferenceValue());      pendingReq.setAuthUrl("http://test.com/");      pendingReq.setTransactionId("avaasbav"); - +    pendingReq.setPiiTransactionId(RandomStringUtils.randomAlphanumeric(10)); +              executionContext.put(MsEidasNodeConstants.REQ_PARAM_SELECTED_COUNTRY, "XX");      executionContext.put(EaafConstants.PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT, true); @@ -168,6 +173,9 @@ public class CreateIdentityLinkTaskEidNewTest {      signContentResp.getOut().add(signContentEntry);      when(szrMock, "signContent", any(), any(), any()).thenReturn(signContentResp); +    String randomTestSp = RandomStringUtils.randomAlphabetic(10); +    pendingReq.setRawDataToTransaction(MsEidasNodeConstants.DATA_REQUESTERID, randomTestSp); +          //perform test      task.execute(pendingReq, executionContext); @@ -186,7 +194,18 @@ public class CreateIdentityLinkTaskEidNewTest {      X509Certificate[] trustedCerts = EaafKeyStoreUtils          .getPrivateKeyAndCertificates(keyStore.getFirst(), ALIAS, PW.toCharArray(), true, "junit").getSecond();      JwsResult result = JoseUtils.validateSignature(authBlock, Arrays.asList(trustedCerts), constraints); -    Assert.assertTrue("AuthBlock not valid", result.isValid()); +    Assert.assertTrue("AuthBlock not valid", result.isValid());         +    JsonNode authBlockJson = mapper.readTree(result.getPayLoad());     +    Assert.assertNotNull("deserialized AuthBlock", authBlockJson); +     +    Assert.assertNotNull("no piiTransactionId in pendingRequesdt",  +        pendingReq.getUniquePiiTransactionIdentifier()); +    Assert.assertEquals("piiTransactionId", pendingReq.getUniquePiiTransactionIdentifier(),  +        authBlockJson.get("piiTransactionId").asText()); +    Assert.assertEquals("appId", randomTestSp, authBlockJson.get("appId").asText());     +    Assert.assertFalse("'challenge' is null", authBlockJson.get("challenge").asText().isEmpty()); +    Assert.assertFalse("'timestamp' is null", authBlockJson.get("timestamp").asText().isEmpty()); +        } | 
