Kavenegar.Otp 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Kavenegar.Otp --version 1.0.1                
NuGet\Install-Package Kavenegar.Otp -Version 1.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kavenegar.Otp" Version="1.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Kavenegar.Otp --version 1.0.1                
#r "nuget: Kavenegar.Otp, 1.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Kavenegar.Otp as a Cake Addin
#addin nuget:?package=Kavenegar.Otp&version=1.0.1

// Install Kavenegar.Otp as a Cake Tool
#tool nuget:?package=Kavenegar.Otp&version=1.0.1                

<div dir="rtl">

استفاده از کتابخانه Kavenegar-otp

از این پروژه می‌توانید برای ارسال کد ورود دو مرحله‌ای (2FA) و تایید درست بودن کد وارد شده استفاده نمایید. برای ایجاد کد و تایید درست بودن کد از کتابخانه Otp.NET و برای ارسال پیامک از کتابخانه kavenegar-dotnet استفاده شده است.

ویژگی‌های این کتابخانه:

  1. بررسی تعداد تلاش‌های کاربر برای ارسال کد و جلوگیری از تلاش بیش از حد
  2. تنظیم حداکثر تعداد تلاش برای ارسال کد
  3. بررسی تعداد دفعات وارد کردن کد اشتباه و جلوگیری از تلاش بیش از حد
  4. قابلیت تنظیم میزان زمان قفل کردن درخواست‌های کاربر
  5. پیاده‌سازی سرویس ارسال اعتبارسنجی کاوه نگار
  6. استفاده از الگوریتم TOTP (Timed One-Time Password)
  7. تنظیم تعداد شماره های کد 2FA </div>

<div dir="rtl">

برای شروع:

  1. در پنل کاوه نگار یک الگوی اعتبارسنجی ایجاد نمایید. توجه نمایید که الگوی ایجاد شده فقط باید دارای یک %token باشد. لینک صفحه ایجاد الگوی اعتبارسنجی

  2. کتابخانه Kavenegar-otp را از طریق کد زیر به پروژه خود اضافه نمایید.

  3. سرویس KavengearOtp را با استفاده از کد زیر در Program.cs وارد نمایید: </div>

    builder.Services.AddKavengearOtp(options =>
    

{ // یک متن رندوم به عنوان رمز برنامه options.AppSecret = "yyKojENDkhytJW";

// APIKEY کاوه نگار
options.KavenegarApiKey = "6F47547424332554D6A4aAS654654ASDASD65444C5852673D";

// حداکثر درخواست‌هایی که کاربر می‌تواند ارسال کد و کد اشتباه بفرستد
options.MaxAttempts = 6;

// زمان قفل شدن کاربر به دلیل وارد کردن کد اشتباه و یا ارسال کد
options.LockoutDuration =  TimeSpan.FromMinutes(30);

// نام الگو اعتبارسنجی
options.KavenegarTemplateName = "LoginOtp";

// طول کد 2FA
options.OtpCodeLength = 8;

// زمانی که کد 2FA معتبر است به ثانیه
options.OtpLifeTime = 120;

});

<div dir="rtl">

5. برای ارسال پیامک کد 2FA از متد `SendOtp` استفاده نمایید. ورودی‌های این متد شامل "شماره موبایل" و "IP" می‌باشد.
6. برای بررسی صحیح بودن کد وارد شده توسط کاربر، از متد `VerifyOtp` استفاده نمایید که ورودی‌های این متد شامل "کد وارد شده توسط کاربر"، "IP" و "شماره موبایل" می‌باشد.
7. توجه داشته باشید که Exceptionهای تعریف شده در کتابخانه طبق جدول زیر استفاده نمایید:

 | خطا                              | توضیحات                                      | جزییات                    |
 |-------------------------------------|----------------------------------------------|-------------------------|
 | SendOtpException             | خطایی در ارسال پیامک رخ داده است | Code:کد خطای کاوه نگار <br /> Message: متن خطای کاوه نگار 
 |UserLockedException           | کاربر به دلیل تلاش بیش از حد قفل شده است| RemainingLockTime: زمان باقی مانده از قفل بود کاربر

</div>

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2 108 8/26/2024
1.0.1 92 8/26/2024
1.0.0 110 8/26/2024