Skip to content

planfact/Planfact.Yandex.SmartCaptcha

Repository files navigation

Planfact.Yandex.SmartCaptcha

NuGet Version NuGet Downloads Build Status codecov License: MIT .NET GitHub release

Идиоматичный и типобезопасный .NET клиент для сервиса Yandex SmartCaptcha.

Установка

dotnet add package Planfact.Yandex.SmartCaptcha

Быстрый старт

using Planfact.Yandex.SmartCaptcha;

var settings = new SmartCaptchaSettings { SecretKey = "YOUR_SECRET_KEY" };
var validator = new SmartCaptchaValidator(settings);

var result = await validator.ValidateAsync("captcha_token", "127.0.0.1");
if (result.IsValid)
{
    Console.WriteLine("Валидация прошла успешно!");
}

Интеграция с ASP.NET Core

// Program.cs
builder.Services.AddSmartCaptcha(builder.Configuration);

// Внедрение зависимости
public class CaptchaController : Controller
{
    private readonly ISmartCaptchaValidator _validator;

    public CaptchaController(ISmartCaptchaValidator validator)
    {
        _validator = validator;
    }

    public async Task<IActionResult> Verify(string token)
    {
        var clientIp = Request.HttpContext.Connection.RemoteIpAddress?.ToString();
        var result = await _validator.ValidateAsync(token, clientIp);
        return Json(new { isValid = result.IsValid });
    }
}

💡 Конфигурирование: Для настройки IAM Token, API Key и других параметров см. документацию по конфигурированию

Особенности

  • 🔐 Три типа аутентификации: Secret Key, IAM Token, API Key
  • 🌐 IP валидация для повышения точности
  • ⚙️ Гибкие настройки: пропуск IP-адресов, таймауты, отключение валидации
  • 📝 Интеграция с логированием Microsoft.Extensions.Logging
  • 🛡️ Встроенная надежность: автоматические retry, circuit breaker, и resilience patterns
  • 🚀 Enterprise-готовность: основан на Reliable.HttpClient для production-нагрузок
  • 🧪 Готовность к тестированию с поддержкой DI

Поддержка платформ

  • .NET 6.0+
  • .NET 8.0+
  • .NET 9.0+

Документация

Лицензия

MIT License. См. LICENSE для деталей.

About

Идиоматичный и типобезопасный .NET-клиент для сервиса Yandex SmartCaptcha

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors