samples/ лежит галерея
примеров. Всё там — под лицензией MIT и написано так, чтобы переносить к себе в проект.
Veriqa живёт на стороне издателя токенов. Приложение, которое только впускает пользователей,
остаётся обычной проверяющей стороной OpenID Connect — без пакета Veriqa и без SDK. Пакеты Veriqa
нужны только там, где приложение само является издателем (встроенный режим) или вызывает API
подтверждений с сервера.
- Запускаемые — проекты со своим
README.md, портами и конфигурацией. .NET-пример запускаетсяdotnet run --project <путь>; примеры вне .NET, которые работают рядом с Veriqa, —docker compose upв своей папке. - Код для копирования — один файл на стек с полной обвязкой клиента. Проекта вокруг него нет: окружающее приложение — ваше.
Примеры сценариев
Каждый показывает один механизм и ничего больше.
Пример Aspire и хост собственного канала занимают один порт 7320 — запускайте их по очереди.
Пример для агентского харнеса
claude-code/ — плагин Claude Code, а не .NET-проект: выбранные действия агента — git push, старт
длинного цикла команд, затратный прогон с оценкой токенов — ждут, пока человек одобрит их в
мессенджере; для затратного прогона — цепочкой из двух согласующих. См.
«Подтверждения в Claude Code» и README примера.
Примеры-витрины
Два примера вsamples/dotnet/showcase/ изображают продукт целиком, чтобы сценарии было видно от
начала до конца так, как их встречает пользователь. Каждый — один процесс в трёх ролях: встроенный
издатель, OIDC-клиент браузера и бэкенд, создающий подтверждения.
Nova Stream — стриминг на телевизоре
dotnet/showcase/streaming-tv · https://localhost:7350. Вход по QR с дивана, приветственная
карточка из claims канала, узнавание вернувшегося зрителя, степ-ап при покупке фильма.
Управление пультом, написан под браузеры телевизоров (Tizen 5.5, webOS 5), работает за
HTTP-туннелем.Helio — поддержка клиентов
dotnet/showcase/support-desk · https://localhost:7360. Публичная страница поддержки, вход,
карточка клиента и степ-ап перед закрытием или удалением обращения.- Карточку человека из claims, которые дал канал: имя, аватар,
@usernameи замаскированный ID (Telegram), замаскированный телефон (WhatsApp), адрес (Email). Идентификаторы маскируются на сервере, полное значение в браузер не уходит. - Степ-ап, адресованный вошедшему. Подтверждение называет личность текущей сессии
(
expected_identities), и операция применяется, только если совпалmatched_type, — подтверждение с другого аккаунта ничего не меняет. - Квитанции по назначению. Вопрос входа заменяется на «Sign-in to … confirmed ✅»
(
ReplacePrompt); подтверждение сохраняет вопрос и получает квитанцию отдельным сообщением (NewMessage, задан в записи клиента бэкенда). См.OutcomeNoticeв Конфигурации. - Собственные страницы Veriqa под брендом. Страница входа и окно подтверждения — экраны
продукта; через
AuthPageDesignзаданы только бренд, цвет, тема и — для телевизора — таблица стилей.
Запуск .NET-примеров
- .NET SDK 10.0+ и доверенный локальный HTTPS-сертификат (
dotnet dev-certs https --trust). - Включите хотя бы один канал и дайте ему учётные данные. Все примеры поставляются с
"Enabled": falseу всех каналов; без включённого канала страница входа отвечаетno_channels_available. Быстрее всего — токен бота, см. Настройка каналов и README самого примера. - Пары вроде
login+login-clientзапускайте начиная с издателя: иначе клиент не пройдёт discovery.