diff options
| author | Thomas <> | 2022-03-10 10:11:00 +0100 | 
|---|---|---|
| committer | Thomas <> | 2022-03-10 10:11:00 +0100 | 
| commit | db974252e34082e6bf0dbf7b06bf996faadf7b62 (patch) | |
| tree | 22494f7a7f4e224818e8241ff3d0fe23d34d0f9f | |
| parent | e1a765249341bb3fa947cd6e153569dd6d955937 (diff) | |
| parent | 0735a9bb3c338ff80d12156f0904a0714bdf16c3 (diff) | |
| download | National_eIDAS_Gateway-db974252e34082e6bf0dbf7b06bf996faadf7b62.tar.gz National_eIDAS_Gateway-db974252e34082e6bf0dbf7b06bf996faadf7b62.tar.bz2 National_eIDAS_Gateway-db974252e34082e6bf0dbf7b06bf996faadf7b62.zip | |
Merge branch 'nightlybuild' into feature/matching_base
2 files changed, 12 insertions, 3 deletions
| diff --git a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAuthnResponseTask.java b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAuthnResponseTask.java index cba25e58..ee0590fd 100644 --- a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAuthnResponseTask.java +++ b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAuthnResponseTask.java @@ -50,6 +50,7 @@ import at.gv.egiz.eaaf.core.impl.idp.auth.data.EidAuthProcessDataWrapper;  import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask;  import eu.eidas.auth.commons.EidasParameterKeys;  import eu.eidas.auth.commons.light.ILightResponse; +import eu.eidas.auth.commons.light.impl.LightResponse;  import eu.eidas.auth.commons.tx.BinaryLightToken;  import eu.eidas.specificcommunication.BinaryLightTokenHelper;  import eu.eidas.specificcommunication.SpecificCommunicationDefinitionBeanNames; @@ -122,18 +123,23 @@ public class ReceiveAuthnResponseTask extends AbstractAuthServletTask {    }    private void forwardToOtherStage(HttpServletResponse response, ExecutionContext executionContext,  -      ILightResponse eidasResponse, String stagingEndpoint) throws SpecificCommunicationException, IOException { +      ILightResponse eidasResponse, String stagingEndpoint)  +          throws SpecificCommunicationException, IOException, EaafException {      executionContext.put(MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING, true); -     +                      final SpecificCommunicationService specificConnectorCommunicationService =          (SpecificCommunicationService) context.getBean(              SpecificCommunicationDefinitionBeanNames.SPECIFIC_CONNECTOR_COMMUNICATION_SERVICE.toString()); -    BinaryLightToken token = specificConnectorCommunicationService.putResponse(eidasResponse); +    BinaryLightToken token = specificConnectorCommunicationService.putResponse( +        LightResponse.builder(eidasResponse).relayState(pendingReq.getPendingRequestId()).build());      final String tokenBase64 = BinaryLightTokenHelper.encodeBinaryLightTokenBase64(token);          final UriComponentsBuilder redirectUrl = UriComponentsBuilder.fromHttpUrl(stagingEndpoint);      redirectUrl.queryParam(EidasParameterKeys.TOKEN.toString(), tokenBase64); +    // store pendingRequest +    requestStoreage.storePendingRequest(pendingReq); +          log.debug("Forward to other stage .... ");      response.sendRedirect(redirectUrl.build().encode().toString()); diff --git a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/ReceiveEidasResponseTaskTest.java b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/ReceiveEidasResponseTaskTest.java index 72046885..a7d21ee7 100644 --- a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/ReceiveEidasResponseTaskTest.java +++ b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/ReceiveEidasResponseTaskTest.java @@ -155,6 +155,9 @@ public class ReceiveEidasResponseTaskTest {      Assert.assertEquals("msConnectorStage", true,           (Boolean) executionContext.get(MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING)); +    IRequest storedReq = storage.getPendingRequest(pendingReq.getPendingRequestId()); +    Assert.assertNotNull("pendingReq not stored", storedReq); +          //validate state      Assert.assertEquals("Wrong http statusCode", 302, httpResp.getStatus());      Assert.assertNotNull("No redirect header", httpResp.getHeaderValue("Location")); | 
