Skip to main content
Ваше приложение работает на телевизоре, в киоске или на устройстве, где вводить нечем. Вы хотите, чтобы пользователь входил по QR-коду на экране и подтверждал вход в мессенджере на телефоне.
Если на устройстве есть браузер или webview, подойдёт обычный вход — по рецепту Вход в веб-приложение. Ниже — путь без браузера.

Что понадобится

  • сервер Veriqa с включённым каналом;
  • бэкенд у приложения: секрет клиента нельзя хранить на устройстве, из приложения его извлекут;
  • место на экране под QR-код с полосой «Powered by Veriqa» под ним.

Шаги

1

Заведите отдельного клиента для устройства

Клиенту нужны AllowClientCredentials, AllowConfirmationTokenGrant, openid в AllowedScopes и объявленный тип действия с текстом сообщения — см. Настройте клиента.
2

Создайте подтверждение с бэкенда

POST /api/transaction/confirmation возвращает channel_entry с QR-картинкой и ссылкой — см. Создайте подтверждение.
3

Покажите QR-код на экране

Приложение выводит картинку qr на любом TV-SDK; браузер для этого не нужен — см. Что есть сегодня.
4

Дождитесь исхода

Бэкенд опрашивает GET /api/transaction/{id}/result, пока исход не перестанет быть pending, — см. Прочитайте исход.
5

Откройте сессию

Подтверждённую транзакцию бэкенд обменивает на id_token, сохраняет sub и открывает свою сессию на устройстве — см. Привязка с сервера без входа.

Как проверить

Запустите вход на устройстве, отсканируйте QR-код телефоном и подтвердите в мессенджере. Бэкенд должен получить исход confirmed, а после обмена — id_token с sub того, кто подтвердил. refresh_token в этом пути нет: транзакция погашается один раз, и долгую сессию на устройстве держит само приложение.

Куда дальше