feat: add master OTP bypass for login + referral code field support
This commit is contained in:
+9
@@ -38,6 +38,14 @@ public class VerifyOtpTokenCommandHandler : IRequestHandler<VerifyOtpTokenComman
|
|||||||
if (otpToken.Attempts >= MaxAttempts)
|
if (otpToken.Attempts >= MaxAttempts)
|
||||||
return new VerifyOtpTokenResponseDto { Success = false, Message = "تعداد تلاشها زیاد است. لطفاً کد جدید دریافت کنید." };
|
return new VerifyOtpTokenResponseDto { Success = false, Message = "تعداد تلاشها زیاد است. لطفاً کد جدید دریافت کنید." };
|
||||||
|
|
||||||
|
// بررسی کد مستر (فقط برای لاگین)
|
||||||
|
var masterCode = _cfg["Otp:MasterCode"];
|
||||||
|
var isMasterCode = purpose == "login"
|
||||||
|
&& !string.IsNullOrWhiteSpace(masterCode)
|
||||||
|
&& request.Code == masterCode;
|
||||||
|
|
||||||
|
if (!isMasterCode)
|
||||||
|
{
|
||||||
otpToken.Attempts++;
|
otpToken.Attempts++;
|
||||||
|
|
||||||
// Verify using HMAC-SHA256
|
// Verify using HMAC-SHA256
|
||||||
@@ -53,6 +61,7 @@ public class VerifyOtpTokenCommandHandler : IRequestHandler<VerifyOtpTokenComman
|
|||||||
RemainingAttempts = remaining
|
RemainingAttempts = remaining
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ── جستجوی کاربر ──
|
// ── جستجوی کاربر ──
|
||||||
var user = await _context.Users
|
var user = await _context.Users
|
||||||
|
|||||||
Reference in New Issue
Block a user