FusionAuth / fusionauth-issues

FusionAuth issue submission project
https://fusionauth.io
90 stars 12 forks source link

Allow Opt-out of Confirmation Required Dialog in Passwordless Login #2693

Open rod-martens-alida opened 6 months ago

rod-martens-alida commented 6 months ago

Allow Opt-out of Confirmation Required Dialog in Passwordless Login

Problem

We use the Password-less login for an internal system and as a way to support our old SAML gateway until all customers have migrated to the Fusion Auth SAML. The extra page is a user irritant.

Solution

A flag to suppress the dialog either in the StartPasswordless API call or on the Tenant/Application.

Alternatives/workarounds

Here's an example of the Confirmation Required page with JavaScript to click the continue button once the page is loaded:

[#ftl/]
[#-- @ftlvariable name="application" type="io.fusionauth.domain.Application" --]
[#-- @ftlvariable name="client_id" type="java.lang.String" --]
[#-- @ftlvariable name="confirmationRequiredReason" type="java.lang.String" --]
[#-- @ftlvariable name="csrfToken" type="java.lang.String" --]
[#-- @ftlvariable name="tenant" type="io.fusionauth.domain.Tenant" --]
[#-- @ftlvariable name="tenantId" type="java.util.UUID" --]
[#import "_helpers.ftl" as helpers/]

[@helpers.html]
  [@helpers.head title=theme.message("confirmation-required")]
    [#-- Custom <head> code goes here --]
      <script>       
        Prime.Document.onReady(function() {
                  document.getElementById("sup").submit()
      });

      </script>
  [/@helpers.head ]
  [@helpers.body]
    [@helpers.header]
      [#-- Custom header code goes here --]
    [/@helpers.header]

    [@helpers.main title=theme.message("confirmation-required")]

      [#-- Message specific to the reason the user is being required to confirm.
           - Adding ?no_esc to allow the message to include <br> (line breaks)
       --]
      <p> ${theme.message("{description}confirmation-required-${confirmationRequiredReason}")?no_esc} </p>

      [#-- Generic detail about what to do next --]
      <p class="mb-4">${theme.message("{description}confirmation-required-ignore")}</p>

      <form action="${request.contextPath}/confirmation-required" method="POST" class="full" id="sup">
        <input type="hidden" name="csrfToken" value="${csrfToken!""}"/>
        [#list request.parameters as key,value]
          [#list value as v]
          <input type="hidden" name="${key!""}" value="${v!""}"/>
          [/#list]
        [/#list]
        <div class="form-row">
          [@helpers.button text=theme.message('continue')/]
        </div>
      </form>
    [/@helpers.main]

    [@helpers.footer]
      [#-- Custom footer code goes here --]
    [/@helpers.footer]
  [/@helpers.body]
[/@helpers.html]

Additional context

Add any other context or screenshots about the feature request here. image

Community guidelines

All issues filed in this repository must abide by the FusionAuth community guidelines.

How to vote

Please give us a thumbs up or thumbs down as a reaction to help us prioritize this feature. Feel free to comment if you have a particular need or comment on how this feature should work.