From dc8587693201e34fe0f7a87b3e401fac4325ce04 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 3 May 2019 06:59:13 +0200 Subject: update process finalization and update pendingReqIdGenerationStrategy --- .../tasks/FinalizeAuthenticationTask.java | 29 ++++------------------ .../tasks/RestartAuthProzessManagement.java | 18 +++++++------- 2 files changed, 14 insertions(+), 33 deletions(-) (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller') diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java index eff6b631..b12a69b2 100644 --- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java @@ -26,20 +26,15 @@ *******************************************************************************/ package at.gv.egiz.eaaf.core.impl.idp.controller.tasks; -import java.io.Serializable; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cglib.proxy.Dispatcher; import org.springframework.stereotype.Component; import at.gv.egiz.eaaf.core.api.data.EAAFConstants; import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager; -import at.gv.egiz.eaaf.core.api.idp.auth.services.IProtocolAuthenticationService; import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext; import at.gv.egiz.eaaf.core.exceptions.EAAFException; import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException; @@ -53,9 +48,7 @@ import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask; public class FinalizeAuthenticationTask extends AbstractAuthServletTask { private static final Logger log = LoggerFactory.getLogger(FinalizeAuthenticationTask.class); - - @Autowired(required=true) IProtocolAuthenticationService protAuchService; - + /* (non-Javadoc) * @see at.gv.egovernment.moa.id.process.springweb.MoaIdTask#execute(at.gv.egovernment.moa.id.process.api.ExecutionContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @@ -68,25 +61,13 @@ public class FinalizeAuthenticationTask extends AbstractAuthServletTask { //set pending request to authenticated pendingReq.setAuthenticated(true); revisionsLogger.logEvent(pendingReq, IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_FINISHED); + performRedirectToProtocolFinialization(executionContext, pendingReq, request, response); - - Object frontChannelRedirectFlagObj = executionContext.get(EAAFConstants.PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT); - if (frontChannelRedirectFlagObj != null && frontChannelRedirectFlagObj instanceof Boolean && - (Boolean)frontChannelRedirectFlagObj) { - log.info("AuthProcess finished. Forward to Protocol finalization."); - protAuchService.finalizeAuthentication(request, response, pendingReq); - - } else { - log.info("AuthProcess finished. Redirect to Protocol Dispatcher."); - requestStoreage.storePendingRequest(pendingReq); - performRedirectToProtocolFinialization(pendingReq, response); - - } - - } catch (EAAFException e) { + + } catch (final EAAFException e) { throw new TaskExecutionException(pendingReq, e.getMessage(), e); - } catch (Exception e) { + } catch (final Exception e) { log.warn("FinalizeAuthenticationTask has an internal error", e); throw new TaskExecutionException(pendingReq, e.getMessage(), e); diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java index 7ecc7425..1e5b63a2 100644 --- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java @@ -65,13 +65,13 @@ public class RestartAuthProzessManagement extends AbstractAuthServletTask { if (this.pendingReq.isAbortedByUser()) { log.debug("AuthProcess was stopped. Forward to finalization ... "); - performRedirectToProtocolFinialization(pendingReq, response); + performRedirectToProtocolFinialization(executionContext, pendingReq, request, response); } else { //create a new execution context and copy all elements to new context - ExecutionContext newec = new ExecutionContextImpl(); - Set entries = executionContext.keySet(); - for (String key : entries) { + final ExecutionContext newec = new ExecutionContextImpl(); + final Set entries = executionContext.keySet(); + for (final String key : entries) { newec.put(key, executionContext.get(key)); } @@ -79,13 +79,13 @@ public class RestartAuthProzessManagement extends AbstractAuthServletTask { log.debug("Select new auth.-process and restart restart process-engine ... "); // select and create new process instance - String processDefinitionId = ModuleRegistration.getInstance().selectProcess(newec); + final String processDefinitionId = ModuleRegistration.getInstance().selectProcess(newec); if (processDefinitionId == null) { log.warn("No suitable authentication process found for SessionID " + pendingReq.getPendingRequestId()); throw new EAAFException("process.02", new Object[] { pendingReq.getPendingRequestId()}); } - String processInstanceId = processEngine.createProcessInstance(processDefinitionId, newec); + final String processInstanceId = processEngine.createProcessInstance(processDefinitionId, newec); // keep process instance id in moa session ((RequestImpl)pendingReq).setProcessInstanceId(processInstanceId); @@ -94,7 +94,7 @@ public class RestartAuthProzessManagement extends AbstractAuthServletTask { try { requestStoreage.storePendingRequest(pendingReq); - } catch (EAAFException e) { + } catch (final EAAFException e) { log.error("Database Error! MOASession is not stored!"); throw new EAAFException("internal.02", null); @@ -107,10 +107,10 @@ public class RestartAuthProzessManagement extends AbstractAuthServletTask { } - } catch (EAAFException e) { + } catch (final EAAFException e) { throw new TaskExecutionException(pendingReq, e.getMessage(), e); - } catch (Exception e) { + } catch (final Exception e) { log.warn("RestartAuthProzessManagement has an internal error", e); throw new TaskExecutionException(pendingReq, e.getMessage(), e); -- cgit v1.2.3