Если на устройстве есть браузер или 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 в этом пути нет: транзакция погашается один раз, и долгую сессию на устройстве держит
само приложение.
Куда дальше
- Nova Stream — пример-витрина на телевизоре: вход через страницу Veriqa и покупка, которую подтверждают через API серверного подтверждения;
- Smart TV и поверхности без клавиатуры — чем это отличается от device flow и чего сегодня нет;
- Видео: вход на телевизоре.