Kavenegar.Otp
1.0.2
dotnet add package Kavenegar.Otp --version 1.0.2
NuGet\Install-Package Kavenegar.Otp -Version 1.0.2
<PackageReference Include="Kavenegar.Otp" Version="1.0.2" />
paket add Kavenegar.Otp --version 1.0.2
#r "nuget: Kavenegar.Otp, 1.0.2"
// Install Kavenegar.Otp as a Cake Addin #addin nuget:?package=Kavenegar.Otp&version=1.0.2 // Install Kavenegar.Otp as a Cake Tool #tool nuget:?package=Kavenegar.Otp&version=1.0.2
<div dir="rtl">
استفاده از کتابخانه Kavenegar-otp
از این پروژه میتوانید برای ارسال کد ورود دو مرحلهای (2FA) و تایید درست بودن کد وارد شده استفاده نمایید. برای ایجاد کد و تایید درست بودن کد از کتابخانه Otp.NET و برای ارسال پیامک از کتابخانه kavenegar-dotnet استفاده شده است.
ویژگیهای این کتابخانه:
- بررسی تعداد تلاشهای کاربر برای ارسال کد و جلوگیری از تلاش بیش از حد
- تنظیم حداکثر تعداد تلاش برای ارسال کد
- بررسی تعداد دفعات وارد کردن کد اشتباه و جلوگیری از تلاش بیش از حد
- قابلیت تنظیم میزان زمان قفل کردن درخواستهای کاربر
- پیادهسازی سرویس ارسال اعتبارسنجی کاوه نگار
- استفاده از الگوریتم TOTP (Timed One-Time Password)
- تنظیم تعداد شماره های کد 2FA </div>
<div dir="rtl">
برای شروع:
- در پنل کاوه نگار یک الگوی اعتبارسنجی ایجاد نمایید. توجه نمایید که الگوی ایجاد شده فقط باید دارای یک
%token
باشد. لینک صفحه ایجاد الگوی اعتبارسنجی - کتابخانه Kavenegar-otp را از طریق کد زیر به پروژه خود اضافه نمایید. </div>
dotnet add package Kavenegar.Otp --version 1.0.2
<div dir="rtl">
4. سرویس 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">
برای ارسال پیامک کد 2FA از متد
SendOtp
استفاده نمایید. ورودیهای این متد شامل "شماره موبایل" و "IP" میباشد.برای بررسی صحیح بودن کد وارد شده توسط کاربر، از متد
VerifyOtp
استفاده نمایید که ورودیهای این متد شامل "کد وارد شده توسط کاربر"، "IP" و "شماره موبایل" میباشد.توجه داشته باشید که Exceptionهای تعریف شده در کتابخانه طبق جدول زیر استفاده نمایید:
خطا توضیحات جزییات SendOtpException خطایی در ارسال پیامک رخ داده است Code:کد خطای کاوه نگار <br /> Message: متن خطای کاوه نگار UserLockedException کاربر به دلیل تلاش بیش از حد قفل شده است RemainingLockTime: زمان باقی مانده از قفل بود کاربر
</div>
Product | Versions 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. |
-
.NETStandard 2.1
- KavenegarDotNetCore (>= 1.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- NSubstitute (>= 5.1.0)
- Otp.NET (>= 1.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.