README.md

Yandex SmartCaptcha для .NET

Данный проект не является официальной библиотекой Yandex Cloud

Зависимости

Refit

Проект YandexSmartCaptcha.AspNetCore содержит интерфейс ISmartCaptchaApi для использования с библиотекой Refit. Refit — проект с открытым исходным кодом для типобезопасносного обращения к конечным точкам REST, предоставленным Yandex SmartCaptcha.

Если вы не хотите использовать Refit, вы можете создать собственную реализация интерфейса ISmartCaptchaApi или использовать SmartCaptcha без этого проекта.

Использование в ASP.NET Core

1) Настройки

Конфигурация представления в виде класса SmartCaptchaOptions. Некоторые значения предзаданы текущими значениями по умолчанию Yandex SmartCaptcha. SiteKey и ServerKey должны быть заданы для работы.

Самым лёгким способом является использование настроек .NET Core через appsettings.json

"SmartCaptcha": {
   "SiteKey": "", // Заполните поля вашей парой ключей
   "ServerKey": ""
}

и регистрация через AddSmartCaptcha, которая является частью YandexSmartCaptcha.AspNetCore.

public void ConfigureServices(IServiceCollection services)
{
   // Yandex SmartCaptcha
   services.AddSmartCaptcha(Configuration.GetSection("SmartCaptcha"));
   ...

2) Регистрация Model Binder

В настоящее время библиотека ASP.NET core даёт возможность автоматизировать интеграцию SmartCaptcha. Для этих целей применяется ModelBinder, которая используется если SmartCaptchaVerifyResponse является одним из передаваемых аргументов в action.

Вы должны зарегистрировать Model Binder

public void ConfigureServices(IServiceCollection services)
{
   // Yandex SmartCaptcha
   services.AddSmartCaptcha(Configuration.GetSection("SmartCaptcha"));

    // Mvc
    services.AddControllersWithViews(mvcOptions =>
        // добавление model binder
        mvcOptions.AddSmartCaptchaModelBinder());
}

И ваш Action:

public class HomeController : Controller
{
    [HttpGet, Route("")]
    public IActionResult Index()
    {
        return View(new IndexViewModel());
    }

    [HttpPost, Route("")]
    public IActionResult Index(SmartCaptchaVerifyResponse smartCaptcha)
    {
        return View(new IndexViewModel(smartCaptcha));
    }
}

Лицензия

Данную программу разрешено использовать в соответствии с ст. 1273 ГК РФ.

Описание

Неофициальная библиотека для использования сервиса SmartCaptcha от Яндекса в фреймворке Asp.Net

Конвейеры
0 успешных
0 с ошибкой