aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <>2022-03-10 11:02:03 +0100
committerThomas <>2022-03-10 11:02:03 +0100
commitcfdb480ae6588c427325ccb321765fd7d885a7e1 (patch)
tree6348817d807894169e0bf0ab7122b40ac799f297
parent985c0c96fcf7b03979f1ef46698929a38ee58945 (diff)
downloadNational_eIDAS_Gateway-cfdb480ae6588c427325ccb321765fd7d885a7e1.tar.gz
National_eIDAS_Gateway-cfdb480ae6588c427325ccb321765fd7d885a7e1.tar.bz2
National_eIDAS_Gateway-cfdb480ae6588c427325ccb321765fd7d885a7e1.zip
fix(core): remove stageing info from pendingRequest to fix forwarding in a loop
-rw-r--r--modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAuthnResponseTask.java5
-rw-r--r--modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/ReceiveEidasResponseTaskTest.java4
2 files changed, 7 insertions, 2 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 6a555e67..35cb6015 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
@@ -109,7 +109,10 @@ public class ReceiveAuthnResponseTask extends AbstractAuthServletTask {
ILightResponse eidasResponse, String stagingEndpoint)
throws SpecificCommunicationException, IOException, EaafException {
executionContext.put(MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING, true);
-
+
+ //remove staging information because it's still in use
+ pendingReq.setRawDataToTransaction(MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING, null);
+
final SpecificCommunicationService specificConnectorCommunicationService =
(SpecificCommunicationService) context.getBean(
SpecificCommunicationDefinitionBeanNames.SPECIFIC_CONNECTOR_COMMUNICATION_SERVICE.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 47ad5cbd..3fa66aa8 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
@@ -161,7 +161,9 @@ public class ReceiveEidasResponseTaskTest {
(Boolean) executionContext.get(MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING));
IRequest storedReq = storage.getPendingRequest(pendingReq.getPendingRequestId());
- Assert.assertNotNull("pendingReq not stored", storedReq);
+ Assert.assertNotNull("pendingReq not stored", storedReq);
+ Assert.assertNull("staging info is not null", storedReq.getRawData(
+ MsEidasNodeConstants.EXECCONTEXT_PARAM_MSCONNECTOR_STAGING, String.class));
//validate state
Assert.assertEquals("Wrong http statusCode", 302, httpResp.getStatus());