feat: Enhance SMS verification with new token handling and update API key
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 9m45s

This commit is contained in:
masoodafar-web
2026-02-28 04:01:45 +03:30
parent 1e7c17f090
commit 1a0bb83c99
6 changed files with 51 additions and 10 deletions
@@ -13,5 +13,10 @@ public interface IKavenegarService
/// <summary>
/// ارسال پیامک با قالب (VerifyLookup)
/// </summary>
Task VerifyLookupAsync(string mobile, string token, string template = "Afrino");
Task VerifyLookupAsync(string mobile, string token, string template = "OTP");
/// <summary>
/// ارسال پیامک با قالب و توکن دوم (VerifyLookup) — مثلاً برای قراردادها
/// </summary>
Task VerifyLookupAsync(string mobile, string token, string token2, string template);
}
@@ -26,12 +26,12 @@ public class CreateNewOtpTokenEventHandler : INotificationHandler<CreateNewOtpTo
{
var purpose = notification.Item.Purpose?.ToLowerInvariant();
// برای امضای قرارداد، پیامک ساده با GUID ارسال شود
// برای امضای قرارداد، از الگوی Sign-Contract با GUID به عنوان token2 استفاده شود
if ((purpose == "signcontract" || purpose == "signclubcontract")
&& !string.IsNullOrEmpty(notification.SignGuid))
{
var message = $"کد تایید امضای قرارداد: {notification.PlainCode}\nشناسه قرارداد: {notification.SignGuid}";
await _kavenegarService.SendAsync(notification.Item.Mobile, message);
await _kavenegarService.VerifyLookupAsync(
notification.Item.Mobile, notification.PlainCode, notification.SignGuid, "Sign-Contract");
}
else
{
@@ -72,11 +72,10 @@ public class CreateNewOtpTokenCommandHandler : IRequestHandler<CreateNewOtpToken
try
{
// برای امضای قرارداد، شناسه GUID هم در پیامک ارسال شود
// برای امضای قرارداد، از الگوی Sign-Contract با GUID به عنوان token2 استفاده شود
if ((purpose == "signcontract" || purpose == "signclubcontract") && !string.IsNullOrEmpty(request.SignGuid))
{
var message = $"کد تایید امضای قرارداد: {code}\nشناسه قرارداد: {request.SignGuid}";
await _kavenegarService.SendAsync(mobile, message);
await _kavenegarService.VerifyLookupAsync(mobile, code, request.SignGuid, "Sign-Contract");
}
else
{