refactor(HomeController): Aktualisiert, um zu prüfen, ob der UserSelectSMS-Wert falsch ist.
- Relevante Variablen zu EnvelopeLocked.cshtml hinzugefügt
This commit is contained in:
parent
137d8e09d4
commit
6a6da39bc4
@ -182,18 +182,25 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
return await _envRcvService.ReadWithSecretByUuidSignatureAsync(uuid: uuid, signature: signature).ThenAsync(
|
return await _envRcvService.ReadWithSecretByUuidSignatureAsync(uuid: uuid, signature: signature).ThenAsync(
|
||||||
SuccessAsync: async er_secret =>
|
SuccessAsync: async er_secret =>
|
||||||
{
|
{
|
||||||
async Task<IActionResult> SendSmsView()
|
async Task<IActionResult> TFAView(bool viaSms)
|
||||||
{
|
{
|
||||||
var res = await _msgService.SendSmsCodeAsync(er_secret.PhoneNumber!, envelopeReceiverId: envelopeReceiverId);
|
if (viaSms)
|
||||||
if (res.Ok)
|
{
|
||||||
return View("EnvelopeLocked").WithData("ViaSms", true).WithData("Expiration", res.Expiration);
|
var res = await _msgService.SendSmsCodeAsync(er_secret.PhoneNumber!, envelopeReceiverId: envelopeReceiverId);
|
||||||
else if (!res.Allowed)
|
if (res.Ok)
|
||||||
return View("EnvelopeLocked").WithData("ViaSms", true).WithData("Expiration", res.AllowedAt);
|
return View("EnvelopeLocked").WithData("AccessCodeName", "smsCode").WithData("Expiration", res.Expiration);
|
||||||
|
else if (!res.Allowed)
|
||||||
|
return View("EnvelopeLocked").WithData("AccessCodeName", "smsCode").WithData("Expiration", res.AllowedAt);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var res_json = JsonConvert.SerializeObject(res);
|
||||||
|
_logger.LogEnvelopeError(envelopeReceiverId: envelopeReceiverId, message: $"An unexpected error occurred while sending an SMS code. Response: ${res_json}");
|
||||||
|
return this.ViewInnerServiceError();
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var res_json = JsonConvert.SerializeObject(res);
|
return View("EnvelopeLocked").WithData("AccessCodeName", "authenticatorCode");
|
||||||
_logger.LogEnvelopeError(envelopeReceiverId: envelopeReceiverId, message: $"An unexpected error occurred while sending an SMS code. Response: ${res_json}");
|
|
||||||
return this.ViewInnerServiceError();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,10 +228,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
if (er_secret.TFAEnabled)
|
if (er_secret.TFAEnabled)
|
||||||
{
|
{
|
||||||
if (auth.UserSelectSMS is bool userSelectSMS)
|
if (auth.UserSelectSMS is bool userSelectSMS)
|
||||||
{
|
return await TFAView(userSelectSMS);
|
||||||
if(userSelectSMS)
|
|
||||||
return await SendSmsView();
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// if If TFA is enabled but UserSelectSMS is null, there is an unauthorized request(e.g. via an application like postman)
|
// if If TFA is enabled but UserSelectSMS is null, there is an unauthorized request(e.g. via an application like postman)
|
||||||
@ -244,7 +248,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
{
|
{
|
||||||
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
ViewData["ErrorMessage"] = _localizer[WebKey.WrongAccessCode].Value;
|
ViewData["ErrorMessage"] = _localizer[WebKey.WrongAccessCode].Value;
|
||||||
return await SendSmsView();
|
return await TFAView(viaSms: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -5,8 +5,10 @@
|
|||||||
var logo = _logoOpt.Value;
|
var logo = _logoOpt.Value;
|
||||||
ViewData["Title"] = _localizer[WebKey.DocProtected];
|
ViewData["Title"] = _localizer[WebKey.DocProtected];
|
||||||
var userCulture = ViewData["UserCulture"] as Culture;
|
var userCulture = ViewData["UserCulture"] as Culture;
|
||||||
bool viaSms = ViewData["ViaSms"] is bool _viaSms && _viaSms;
|
string accessCodeName = ViewData["AccessCodeName"] is string _accessCodeName ? _accessCodeName : "accessCode";
|
||||||
var accessCodeName = viaSms ? "smsCode" : "accessCode";
|
bool viaSms = accessCodeName == "smsCode";
|
||||||
|
bool viaAuthenticator = accessCodeName == "authenticatorCode";
|
||||||
|
bool viaTFA = viaSms || viaAuthenticator;
|
||||||
DateTime? expiration = ViewData["Expiration"] is DateTime _expiration ? _expiration : null;
|
DateTime? expiration = ViewData["Expiration"] is DateTime _expiration ? _expiration : null;
|
||||||
bool tfaEnabled = ViewData["TFAEnabled"] is bool _tfaEnabled && _tfaEnabled;
|
bool tfaEnabled = ViewData["TFAEnabled"] is bool _tfaEnabled && _tfaEnabled;
|
||||||
bool hasPhoneNumber = ViewData["HasPhoneNumber"] is bool _hasPhoneNumber && _hasPhoneNumber;
|
bool hasPhoneNumber = ViewData["HasPhoneNumber"] is bool _hasPhoneNumber && _hasPhoneNumber;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user