feat(Reg.cshtml): Zeitüberschreitung hinzugefügt.
- TFARegController.Reg aktualisiert, um die Seite _Expired view zu senden, wenn receiver.TfaRegDeadline abläuft. - TFARegParams Klasse für TimeLimit Configuration erstellt und mit appsettings konfiguriert.
This commit is contained in:
@@ -243,6 +243,7 @@ public class HomeController : ViewControllerBase
|
||||
try
|
||||
{
|
||||
ViewData["UserCulture"] = _cultures[UserLanguage];
|
||||
ViewData["EnvelopeKey"] = envelopeReceiverId;
|
||||
|
||||
envelopeReceiverId = _sanitizer.Sanitize(envelopeReceiverId);
|
||||
(string? uuid, string? signature) = envelopeReceiverId.DecodeEnvelopeReceiverId();
|
||||
@@ -292,7 +293,6 @@ public class HomeController : ViewControllerBase
|
||||
//continue the process without important data to minimize security errors.
|
||||
EnvelopeReceiverDto er = er_secret;
|
||||
|
||||
ViewData["EnvelopeKey"] = envelopeReceiverId;
|
||||
//check rejection
|
||||
var rejRcvrs = await _historyService.ReadRejectingReceivers(er.Envelope!.Id);
|
||||
if(rejRcvrs.Any())
|
||||
|
||||
@@ -7,6 +7,7 @@ using Microsoft.Extensions.Localization;
|
||||
using EnvelopeGenerator.Application.Resources;
|
||||
using DigitalData.Core.DTO;
|
||||
using EnvelopeGenerator.Application.Extensions;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers;
|
||||
|
||||
@@ -17,12 +18,14 @@ public class TFARegController : ViewControllerBase
|
||||
private readonly IEnvelopeReceiverService _envRcvService;
|
||||
private readonly IAuthenticator _authenticator;
|
||||
private readonly IReceiverService _rcvService;
|
||||
private readonly TFARegParams _params;
|
||||
|
||||
public TFARegController(ILogger<TFARegController> logger, HtmlSanitizer sanitizer, Cultures cultures, IStringLocalizer<Resource> localizer, IEnvelopeReceiverService erService, IAuthenticator authenticator, IReceiverService receiverService) : base(logger, sanitizer, cultures, localizer)
|
||||
public TFARegController(ILogger<TFARegController> logger, HtmlSanitizer sanitizer, Cultures cultures, IStringLocalizer<Resource> localizer, IEnvelopeReceiverService erService, IAuthenticator authenticator, IReceiverService receiverService, IOptions<TFARegParams> tfaRegParamsOptions) : base(logger, sanitizer, cultures, localizer)
|
||||
{
|
||||
_envRcvService = erService;
|
||||
_authenticator = authenticator;
|
||||
_rcvService = receiverService;
|
||||
_params = tfaRegParamsOptions.Value;
|
||||
}
|
||||
|
||||
[HttpGet("{envelopeReceiverId}")]
|
||||
@@ -56,6 +59,18 @@ public class TFARegController : ViewControllerBase
|
||||
rcv.TotpExpiration = DateTime.Now.AddMonths(1);
|
||||
await _rcvService.UpdateAsync(rcv);
|
||||
var totp_qr_64 = _authenticator.GenerateTotpQrCode(userEmail: rcv.EmailAddress, secretKey: rcv.TotpSecretkey).ToBase64String();
|
||||
|
||||
// Calculate RFA registiration deadline
|
||||
if(rcv.TfaRegDeadline is null)
|
||||
{
|
||||
rcv.TfaRegDeadline = _params.Deadline;
|
||||
await _rcvService.UpdateAsync(rcv);
|
||||
}
|
||||
else if(rcv.TfaRegDeadline <= DateTime.Now)
|
||||
return View("_Expired");
|
||||
|
||||
ViewData["RegDeadline"] = rcv.TfaRegDeadline;
|
||||
|
||||
ViewData["TotpQR64"] = totp_qr_64;
|
||||
|
||||
return View();
|
||||
|
||||
Reference in New Issue
Block a user