mirror of
https://github.com/streetwriters/notesnook-sync-server.git
synced 2026-09-30 18:29:36 +02:00
identity: fix 2fa recovery codes not working
This commit is contained in:
1 parent
34fa43f302
commit
76af2cbfc8
2 files changed
+4
-3
No files matched your search
@@ -125,7 +125,8 @@ namespace Streetwriters.Identity.Services
|
|||||||
{
|
{
|
||||||
var primaryMethod = GetPrimaryMethod(user);
|
var primaryMethod = GetPrimaryMethod(user);
|
||||||
var secondaryMethod = GetSecondaryMethod(user);
|
var secondaryMethod = GetSecondaryMethod(user);
|
||||||
return IsValidMFAMethod(method) && (method == primaryMethod || method == secondaryMethod);
|
if (!IsValidMFAMethod(method)) return false;
|
||||||
|
return method == primaryMethod || (!string.IsNullOrEmpty(secondaryMethod) && method == secondaryMethod);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task RemoveSecondaryMethodAsync(User user)
|
private Task RemoveSecondaryMethodAsync(User user)
|
||||||
@@ -164,7 +165,7 @@ namespace Streetwriters.Identity.Services
|
|||||||
public async Task SendOTPAsync(User user, IClient client, MultiFactorSetupForm form, bool isSetup = false)
|
public async Task SendOTPAsync(User user, IClient client, MultiFactorSetupForm form, bool isSetup = false)
|
||||||
{
|
{
|
||||||
var method = form.Type;
|
var method = form.Type;
|
||||||
if ((method != MFAMethods.Email && method != MFAMethods.SMS) || !IsValidMFAMethod(method, user))
|
if ((method != MFAMethods.Email && method != MFAMethods.SMS) || !IsValidMFAMethod(method))
|
||||||
throw new Exception("Invalid method.");
|
throw new Exception("Invalid method.");
|
||||||
|
|
||||||
if (isSetup &&
|
if (isSetup &&
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace Streetwriters.Identity.Validation
|
|||||||
context.Result.ErrorDescription = "Please provide a valid multi-factor authentication code.";
|
context.Result.ErrorDescription = "Please provide a valid multi-factor authentication code.";
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(mfaCode)) return;
|
if (string.IsNullOrEmpty(mfaCode)) return;
|
||||||
if (string.IsNullOrEmpty(mfaMethod) || !MFAService.IsValidMFAMethod(mfaMethod, user))
|
if (string.IsNullOrEmpty(mfaMethod) || (!MFAService.IsValidMFAMethod(mfaMethod, user) && mfaMethod != MFAMethods.RecoveryCode))
|
||||||
{
|
{
|
||||||
context.Result.ErrorDescription = "Please provide a valid multi-factor authentication method.";
|
context.Result.ErrorDescription = "Please provide a valid multi-factor authentication method.";
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in new issue
Block a user