• 1400/03/05

ارسال کد یکبار مصرف با یک سرویس پیامکی :

سلام 

ببخشید من میخواستم این کد یکبار مصرفی تولید شده در برنامه رو به وسیله یکی از پنل های پیامکی ارسال کنم متاسفانه نشد! داکیومنت های اون پنل رو هم کامل خوندم ولی بازم حل نشد.

امکانش هست در آپدیت بعدی به صورت واقعی از یک پنل استفاده کنید و اقدام به ارسال کد یکبار مصرف کنید؟

واقعا ممنون میشم ازتون

  • 1400/03/05
  • ساعت 14:13

سلام عزیز.

بیشتر پنل های پیامکی معتبر و معروف نمونه کد دارن که میتونین ازشون الهام بگیرید یا اصلا از خودشون استفاده کنید. مثلا سرویس کاوه نگار نمونه کدش توی لینک زیر هست :

https://kavenegar.com/sdk.html#csharp

در ضمن حتما پیشنهاد میکنم جلسه آخر منتشر شده رو مشاهده کنین چون دارین از کدهای ورود با شماره موبایل استفاده میکنید.


  • 1400/03/05
  • ساعت 15:10

ممنونم ،

 راستش مستندات وب سرویس rest و soap و همچنین ارسال با لینک رو دیدم ولی قطعه کدها و sdk هایی که ارایه میدن رو وقتی دارم تست میکنم جواب نمیگیرم!! یعنی اون totp کدی که شما تولید کردین رو نمیتونه ارسال کنه.. قبلا خیلی راحت انجامش داده بودم ولی وقتی میخوام این کد تولید شده شما رو از طریق پنل پیامکی بفرستم نمیشه!

فیلم آخر رو دیدم مهندس، اون قسمت آخرش یه اشاره داشتین برای حالتی که بریم رو هاست واقعی ، ولی کجا باید این کد یکبار مصرف رو بدیم به DLL اون پنل پیامکی؟


  • 1400/03/05
  • ساعت 15:46

یه مثال براتون میزنم طبق نمونه کد کاوه نگار که بالا بهتون لینک دادم :

byte[] secretKey;
using (var rng = new RNGCryptoServiceProvider())
{
    secretKey = new byte[32];
    rng.GetBytes(secretKey);
}

var userExists = await _userManager.Users
    .AnyAsync(user => user.PhoneNumber == model.PhoneNumber);
if (userExists)
{
    var totpCode = _phoneTotpProvider.GenerateTotp(secretKey);
    
 	Kavenegar.KavenegarApi api = new Kavenegar.KavenegarApi("Your Api Key");
 	var result = api.Send("SenderLine", model.PhoneNumber, totpCode);
 	foreach(var r in result) 
 	{
 		 Console.Write("r.Messageid.ToString()");
 	}

}

قطعه کد بالا مربوط به اکشن متود پست SendTotpCode هستش. توی If اومدیم کد رو تولید کردیم و سپس از طریق سرویس کاوه نگار اون رو ارسال کردیم که البته باید پنل پیامکی داشته باشید و APiKey و بقیه موارد رو بهش پاس بدید.

دیباگ کنید و توی پنل پیامکی ببینید اصلا چیزی ارسال میشه؟ بعضی از شماره ها به دلایل مختفلی ممکنه این پیامک هارو دریافت نکنن. اگر باز هم مشکل دارین به پشتیبانی سرویستون پیام بدید راهنماییتون میکنن.

البته اینم بگم صرفا کاوه نگار رو مثال زدم میتونین از بقیه سرویس ها استفاده کنید.