diff options
| author | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-01-04 20:29:25 +0100 | 
|---|---|---|
| committer | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-01-04 20:29:25 +0100 | 
| commit | 03830b4462b3f11acd28a63ab05c3105bc19e094 (patch) | |
| tree | adfa98c2b8284fa56be1af55f35f281dca13a873 /eidas_modules/authmodule-eIDAS-v2/src | |
| parent | 81187bb7c831cf2982f82a60e58f3a5151efb78e (diff) | |
| download | National_eIDAS_Gateway-03830b4462b3f11acd28a63ab05c3105bc19e094.tar.gz National_eIDAS_Gateway-03830b4462b3f11acd28a63ab05c3105bc19e094.tar.bz2 National_eIDAS_Gateway-03830b4462b3f11acd28a63ab05c3105bc19e094.zip | |
Gui creation part 1
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2/src')
6 files changed, 54 insertions, 11 deletions
| diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SelectedLoginMethod.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SelectedLoginMethod.java new file mode 100644 index 00000000..f8e2ff2e --- /dev/null +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SelectedLoginMethod.java @@ -0,0 +1,5 @@ +package at.asitplus.eidas.specific.modules.auth.eidas.v2.dao; + +public enum SelectedLoginMethod { +  EIDAS_LOGIN, MOBILE_PHONE_SIGNATURE_LOGIN, NO_OTHER_LOGIN +} diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/CreateNewErnbEntryTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/CreateNewErnbEntryTask.java index 1e07377f..77d6ed41 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/CreateNewErnbEntryTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/CreateNewErnbEntryTask.java @@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;   * @author tlenz   */  @Slf4j -@Component("InitialSearchTask") +@Component("CreateNewErnbEntryTask")  // NOTE: General: Please rebase git commit and squash them where useful, i.e. "remove unused import" should  //       not be a separate commit.  public class CreateNewErnbEntryTask extends AbstractAuthServletTask { diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateGuiRequestTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateGuiTask.java index df4cd812..d55d4a7e 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateGuiRequestTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateGuiTask.java @@ -23,10 +23,16 @@  package at.asitplus.eidas.specific.modules.auth.eidas.v2.tasks; +import at.asitplus.eidas.specific.connector.MsEidasNodeConstants; +import at.asitplus.eidas.specific.connector.gui.StaticGuiBuilderConfiguration; +import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration; +import at.gv.egiz.eaaf.core.api.gui.ISpringMvcGuiFormBuilder; +import at.gv.egiz.eaaf.core.api.idp.IConfiguration;  import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;  import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;  import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask;  import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.stereotype.Component;  import javax.servlet.http.HttpServletRequest; @@ -38,11 +44,15 @@ import javax.servlet.http.HttpServletResponse;   * @author tlenz   */  @Slf4j -@Component("InitialSearchTask") +@Component("GenerateGuiTask")  // NOTE: General: Please rebase git commit and squash them where useful, i.e. "remove unused import" should  //       not be a separate commit. -public class GenerateGuiRequestTask extends AbstractAuthServletTask { +public class GenerateGuiTask extends AbstractAuthServletTask { +  @Autowired +  ISpringMvcGuiFormBuilder guiBuilder; +  @Autowired +  IConfiguration basicConfig;    /*     * (non-Javadoc) @@ -56,10 +66,20 @@ public class GenerateGuiRequestTask extends AbstractAuthServletTask {    public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)        throws TaskExecutionException {      try { -      //TODO +      final IGuiBuilderConfiguration config = new StaticGuiBuilderConfiguration( +          basicConfig, +          pendingReq, +          basicConfig.getBasicConfiguration( +              MsEidasNodeConstants.PROP_CONFIG_WEBCONTENT_TEMPLATES_OTHER_LOGIN_METHOD_SELECTION, +              MsEidasNodeConstants.TEMPLATE_HTML_OTHERLOGINMETHODS), +          MsEidasNodeConstants.ENDPOINT_OTHERLOGINMETHODSELECTION, +          resourceLoader); + +      guiBuilder.build(request, response, config, "Other login methods selection form"); +      } catch (final Exception e) {        log.error("Initial search FAILED.", e); -      throw new TaskExecutionException(pendingReq, "Initial search FAILED.", e); +      throw new TaskExecutionException(pendingReq, "Gui creation FAILED.", e);      }    } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateMobilePhoneSignatureRequestTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateMobilePhoneSignatureRequestTask.java index 4220a822..c9974509 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateMobilePhoneSignatureRequestTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/GenerateMobilePhoneSignatureRequestTask.java @@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;   * @author tlenz   */  @Slf4j -@Component("InitialSearchTask") +@Component("GenerateMobilePhoneSignatureRequestTask")  // NOTE: General: Please rebase git commit and squash them where useful, i.e. "remove unused import" should  //       not be a separate commit.  public class GenerateMobilePhoneSignatureRequestTask extends AbstractAuthServletTask { diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveGuiResponseTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveGuiResponseTask.java index 692e844a..b0cb857e 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveGuiResponseTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveGuiResponseTask.java @@ -23,14 +23,19 @@  package at.asitplus.eidas.specific.modules.auth.eidas.v2.tasks; +import at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.SelectedLoginMethod; +import at.gv.egiz.eaaf.core.api.data.EaafConstants;  import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;  import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;  import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask;  import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang3.StringUtils;  import org.springframework.stereotype.Component;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse; +import java.util.Enumeration;  /**   * Task that searches ErnB and ZMR before adding person to SZR. @@ -38,11 +43,12 @@ import javax.servlet.http.HttpServletResponse;   * @author tlenz   */  @Slf4j -@Component("InitialSearchTask") +@Component("ReceiveGuiResponseTask")  // NOTE: General: Please rebase git commit and squash them where useful, i.e. "remove unused import" should  //       not be a separate commit.  public class ReceiveGuiResponseTask extends AbstractAuthServletTask { +  final String LOGIN_METHOD = "loginSelection";    /*     * (non-Javadoc) @@ -56,10 +62,22 @@ public class ReceiveGuiResponseTask extends AbstractAuthServletTask {    public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)        throws TaskExecutionException {      try { -      //TODO +      // set parameter execution context +      final Enumeration<String> reqParamNames = request.getParameterNames(); +      while (reqParamNames.hasMoreElements()) { +        final String paramName = reqParamNames.nextElement(); +        if (StringUtils.isNotEmpty(paramName) +            && !EaafConstants.PROCESS_ENGINE_PENDINGREQUESTID.equalsIgnoreCase(paramName)) { +          if (LOGIN_METHOD.equalsIgnoreCase(paramName)) { +            String value = StringEscapeUtils.escapeHtml(request.getParameter(paramName)); +            SelectedLoginMethod selection = SelectedLoginMethod.valueOf(value); +            executionContext.put(LOGIN_METHOD, selection); +          } +        } +      }      } catch (final Exception e) { -      log.error("Initial search FAILED.", e); -      throw new TaskExecutionException(pendingReq, "Initial search FAILED.", e); +      log.error("Parsing selected login method FAILED.", e); +      throw new TaskExecutionException(pendingReq, "Parsing selected login method FAILED.", e);      }    } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveMobilePhoneSignatureResponseTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveMobilePhoneSignatureResponseTask.java index a8790b2f..28c351f2 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveMobilePhoneSignatureResponseTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveMobilePhoneSignatureResponseTask.java @@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;   * @author tlenz   */  @Slf4j -@Component("InitialSearchTask") +@Component("ReceiveMobilePhoneSignatureResponseTask")  // NOTE: General: Please rebase git commit and squash them where useful, i.e. "remove unused import" should  //       not be a separate commit.  public class ReceiveMobilePhoneSignatureResponseTask extends AbstractAuthServletTask { | 
