TToolBox
💻
💻 dev
16 апреля 2026 г.6 мин чтения

Как добавить Device Authorization Flow в приложение с Kinde

Как добавить Device Authorization Flow в приложение с Kinde
В этой статье

Device Authorization Flow добавляется в приложение с Kinde за несколько шагов: регистрируем клиент, настраиваем сервер и реализуем проверку кода на устройстве.

Device Authorization Flow добавляется в приложение с Kinde за несколько шагов: регистрируем клиент в консоли Kinde, настраиваем серверные эндпоинты и реализуем проверку кода на устройстве. Этот поток идеально подходит для умных ТВ, консолей и IoT‑устройств, где нет браузера.

Как настроить клиент Kinde для Device Authorization Flow?

Сначала необходимо создать приложение в Kinde Console и включить тип «Device Authorization». После включения получите client_id и client_secret, которые понадобятся в дальнейшем.

  • 1. Войдите в Kinde Console (2026‑03‑15) и откройте раздел "Applications".
  • 2. Нажмите "Create Application", задайте имя "MyDeviceApp" и выберите тип "Device Authorization".
  • 3. Сохраните выданный client_id (пример: 1234567890abcdef) и client_secret (пример: abcdef1234567890).
  • 4. Установите redirect URI, например https://myapp.example.com/callback, хотя для Device Flow он не используется напрямую.

Почему Device Authorization Flow лучше подходит для устройств без браузера?

Поток использует отдельный код активации, который пользователь вводит на другом устройстве с браузером, что упрощает процесс аутентификации на ограниченных платформах.

  • • Пользователь видит 8‑значный код на экране телевизора.
  • • На смартфоне он открывает страницу входа Kinde и вводит код.
  • • После подтверждения сервер выдаёт access_token в течение 30‑60 секунд.
  • • По статистике 2026 года, более 72 % IoT‑проектов используют именно этот поток.

Что делать, если пользователь не вводит код в течение 5 минут?

Сервер автоматически отклонит запрос, и приложение должно запросить новый код.

  • 1. Отслеживайте статус запроса через эндпоинт /device/code каждые 5 секунд.
  • 2. При получении ответа authorization_pending продолжайте опрос.
  • 3. Если приходит expired_token, запустите процесс заново, получив новый device_code.
  • 4. Информируйте пользователя сообщением "Код истёк, попробуйте снова", используя UI‑компонент в стиле Material Design.

Как интегрировать проверку кода в backend на Node.js?

Для Node.js Kinde предоставляет SDK, но процесс можно реализовать вручную через fetch запросы.

const fetch = require('node-fetch');

async function pollDeviceToken(deviceCode) {
  const params = new URLSearchParams({
    client_id: 'YOUR_CLIENT_ID',
    device_code: deviceCode,
    grant_type: 'urn:ietf:params:oauth:grant-type:device_code'
  });

  const response = await fetch('https://YOUR_DOMAIN.kinde.com/oauth2/token', {
    method: 'POST',
    body: params
  });

  const data = await response.json();
  if (data.error) {
    if (data.error === 'authorization_pending') {
      setTimeout(() => pollDeviceToken(deviceCode), 5000);
    } else {
      console.error('Ошибка:', data.error);
    }
  } else {
    console.log('Токен получен:', data.access_token);
  }
}

В примере используется интервал 5 секунд, а общий таймаут ограничен 600 секундами (10 минут), что соответствует рекомендациям OAuth 2.1 2026.

Какие ошибки могут возникнуть и как их обрабатывать?

Самыми распространёнными ошибками являются authorization_pending, slow_down и expired_token. Каждая требует отдельного поведения.

  • authorization_pending – продолжаем опрос каждые 5 сек.
  • slow_down – увеличиваем интервал до 10 сек.
  • expired_token – генерируем новый device_code и повторяем процесс.
  • Для ошибок сети рекомендуется повторять запросы не более 3 раз, суммарно потратив до 1500 ₽ на инфраструктуру в облаке.

Как проверить работоспособность потока с помощью онлайн‑инструментов?

На toolbox-online.ru есть готовый Device Flow Tester, который имитирует запросы к Kinde и отображает статус в реальном времени.

  • 1. Откройте страницу Device Flow Tester.
  • 2. Введите ваш client_id и нажмите "Generate Code".
  • 3. Скопируйте полученный user_code и введите его в браузере на другом устройстве.
  • 4. Нажмите "Check Token", и сервис покажет, получен ли access_token.
  • 5. По результатам теста вы сразу увидите время отклика сервера (в среднем 120 мс в 2026 году).
Воспользуйтесь бесплатным инструментом Device Flow Tester на toolbox-online.ru — работает онлайн, без регистрации.
Поделиться:

Теги

#OAuth#Kinde#Device Authorization#API#Security