diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index f6407d04..537908f2 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -226,17 +226,7 @@ namespace EnvelopeGenerator.Web.Controllers //check if the user has phone is added if (er_secret.TFAEnabled) - { - if (auth.UserSelectSMS is bool userSelectSMS) - return await TFAView(userSelectSMS); - else - { - // if If TFA is enabled but UserSelectSMS is null, there is an unauthorized request(e.g. via an application like postman) - Response.StatusCode = StatusCodes.Status401Unauthorized; - _logger.LogError("TFA is enabled but UserSelectSMS is null. In this case there is an unauthorized request (for example via an application like postman). Form data: {form}", JsonConvert.SerializeObject(auth)); - return this.ViewInnerServiceError(); - } - } + return await TFAView(auth.UserSelectSMS); } else if (auth.HasSmsCode) { diff --git a/EnvelopeGenerator.Web/Models/Auth.cs b/EnvelopeGenerator.Web/Models/Auth.cs index 9cf54cb1..c85733f8 100644 --- a/EnvelopeGenerator.Web/Models/Auth.cs +++ b/EnvelopeGenerator.Web/Models/Auth.cs @@ -1,6 +1,6 @@ namespace EnvelopeGenerator.Web.Models { - public record Auth(string? AccessCode = null, string? SmsCode = null, string? AuthenticatorCode = null, bool? UserSelectSMS = null) + public record Auth(string? AccessCode = null, string? SmsCode = null, string? AuthenticatorCode = null, bool UserSelectSMS = default) { public bool HasAccessCode => AccessCode is not null; diff --git a/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml b/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml index 379d9724..cc285a6c 100644 --- a/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml @@ -1,11 +1,13 @@ @using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; @using Newtonsoft.Json +@model Auth; @{ var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; var logo = _logoOpt.Value; ViewData["Title"] = _localizer[WebKey.DocProtected]; var userCulture = ViewData["UserCulture"] as Culture; string accessCodeName = ViewData["AccessCodeName"] is string _accessCodeName ? _accessCodeName : "accessCode"; + string codePropName = char.ToUpper(accessCodeName[0]) + accessCodeName.Substring(1); bool viaSms = accessCodeName == "smsCode"; bool viaAuthenticator = accessCodeName == "authenticatorCode"; bool viaTFA = viaSms || viaAuthenticator; @@ -44,7 +46,14 @@ @if (tfaEnabled) {
- + @if(hasPhoneNumber) + { + + } + else + { + + }
}