ASC.Api.Core: EmailValidationKeyModelHelper: added parameters for confirm type Auth

This commit is contained in:
Andrey Savihin 2023-09-01 16:09:53 +03:00
parent 5c41701ae2
commit 4a669a0137
2 changed files with 23 additions and 4 deletions

View File

@ -87,6 +87,10 @@ public class EmailValidationKeyModelHelper
request.TryGetValue("uid", out var userIdKey);
Guid.TryParse(userIdKey, out var userId);
request.TryGetValue("module", out var module);
request.TryGetValue("first", out var first);
request.TryGetValue("sms", out var sms);
return new EmailValidationKeyModel
{
Email = _email,
@ -94,12 +98,15 @@ public class EmailValidationKeyModelHelper
Key = key,
Type = cType,
UiD = userId,
Module = module,
First = first,
Sms = sms
};
}
public async Task<ValidationResult> ValidateAsync(EmailValidationKeyModel inDto)
{
var (key, emplType, email, uiD, type) = inDto;
var (key, emplType, email, uiD, type, module, first, sms) = inDto;
ValidationResult checkKeyResult;
@ -165,7 +172,7 @@ public class EmailValidationKeyModelHelper
case ConfirmType.TfaActivation:
case ConfirmType.TfaAuth:
case ConfirmType.Auth:
checkKeyResult = await _provider.ValidateEmailKeyAsync(email + type, key, _provider.ValidAuthKeyInterval);
checkKeyResult = await _provider.ValidateEmailKeyAsync(email + type + first + module + sms, key, _provider.ValidAuthKeyInterval);
break;
case ConfirmType.PortalContinue:

View File

@ -191,8 +191,20 @@ public class EmailValidationKeyModel
/// <type>System.Nullabel{ASC.Web.Studio.Utility.ConfirmType}, System</type>
public ConfirmType? Type { get; set; }
public void Deconstruct(out string key, out EmployeeType? emplType, out string email, out Guid? uiD, out ConfirmType? type)
/// <summary>Module</summary>
/// <type>System.String, System</type>
public string Module { get; set; }
/// <summary>Access an account for the first time or not</summary>
/// <type>System.String, System</type>
public string First { get; set; }
/// <summary>Sends SMS code or not</summary>
/// <type>System.String, System</type>
public string Sms { get; set; }
public void Deconstruct(out string key, out EmployeeType? emplType, out string email, out Guid? uiD, out ConfirmType? type, out string module, out string first, out string sms)
{
(key, emplType, email, uiD, type) = (Key, EmplType, Email, UiD, Type);
(key, emplType, email, uiD, type, module, first, sms) = (Key, EmplType, Email, UiD, Type, Module, First, Sms);
}
}