Адаптер канала VK для Veriqa: вход и подтверждение через бота сообщества VK

Ваши пользователи входят и подтверждают действия в диалоге с ботом вашего сообщества VK. Адаптер подключает VK к Veriqa как канал. Veriqa — OpenID Connect-провайдер с открытым кодом, который вы разворачиваете у себя, поэтому ваше приложение по-прежнему получает стандартные токены OpenID Connect.

Два способа подключить адаптер

Форма Как подключается Когда выбирать
Пакет Veriqa.ChannelAdapter.Ru.Vk с nuget.org Регистрируется вызовом AddVk() в .NET-процессе, где работает Veriqa Одно сообщество на установку
Образ контейнера из adapters/Vk/Dockerfile Работает рядом с Veriqa; Veriqa подключает его как HTTP-канал только настройкой, без собственного кода Несколько сообществ, по одному на тенант, или секреты VK вне процесса Veriqa

Настройка сообщества, параметры обеих форм и подводные камни, найденные при проверке на настоящем VK, описаны в adapters/Vk/README.md.

Состав репозитория

Папка Что в ней
adapters/Vk/ Адаптер, его тесты, точка входа, Dockerfile и compose.yaml образа
host/ Общий хост, через который адаптер работает с Veriqa по протоколу HTTP-канала (wire v1, предварительная версия), и интерфейсы, через которые адаптер работает в обеих формах (пакет Veriqa.ChannelAdapters.Ru.Hosting.Abstractions)

Сборка

dotnet build Veriqa.ChannelAdapters.Ru.slnx
dotnet test Veriqa.ChannelAdapters.Ru.slnx

Пакеты, включая пакеты ядра Veriqa, берутся с nuget.org. Версия ядра задана один раз для всех проектов в Directory.Build.props (VeriqaCoreVersion), и пакеты этого репозитория выходят с той же версией. В сборке работают те же анализаторы, что и в ядре Veriqa: запрещённые API (build/BannedSymbols.txt), правила работы с потоками и строгую проверку nullable.

Собрать образ и запустить его рядом с Veriqa:

docker build -f adapters/Vk/Dockerfile -t veriqa-vk-adapter:local .
cd adapters/Vk
cp .env.example .env    # затем заполните, см. adapters/Vk/README.md
docker compose up -d

Лицензия

MIT, см. LICENSE.