HandyCafe Docs
owner it-admin

Настройки OAuth

Категория настроек OAuth управляет аутентификацией через поток устройства (device flow), позволяя участникам входить на клиентские ПК с помощью существующих аккаунтов социальных сетей. Реализуется протокол Device Authorization Grant (RFC 8628), разработанный для киосков и общедоступных компьютеров, где пользователи проходят аутентификацию на отдельном устройстве (телефоне), а не вводят учетные данные на общем ПК.

Главный переключатель

Переключатель Включить вход через OAuth управляет всей системой OAuth. При отключении на экранах блокировки клиентов не отображается опция входа через OAuth. При включении настроенные провайдеры доступны для входа участников.

Название кафе

Отображаемое имя вашего кафе, которое показывается в контексте аутентификации OAuth. Это помогает участникам убедиться, что они входят именно в нужное заведение при просмотре запроса авторизации на телефоне.

Разрешить вход без баланса

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

При отключении участники должны иметь положительный баланс кошелька для завершения входа через OAuth.

Настройка провайдеров

HandyCafe поддерживает пять провайдеров OAuth. Каждый настраивается независимо:

Google

Поле Описание
Переключатель Включить или отключить вход через Google
Client ID OAuth 2.0 Client ID из вашего проекта в Google Cloud Console
Client Secret Соответствующий секретный ключ
Импорт JSON Загрузите JSON-файл учетных данных в формате Google для автозаполнения полей Client ID и Client Secret

Facebook

Поле Описание
Переключатель Включить или отключить вход через Facebook
Client ID App ID из вашего приложения Facebook Developer
Client Secret App Secret из вашего приложения Facebook Developer

Apple

Поле Описание
Переключатель Включить или отключить вход через Apple
Client ID Services ID из вашего аккаунта Apple Developer
Client Secret Сгенерированный секретный ключ (на основе JWT)

X (Twitter)

Поле Описание
Переключатель Включить или отключить вход через X
Client ID OAuth 2.0 Client ID из X Developer Portal
Client Secret Соответствующий секретный ключ

Discord

Поле Описание
Переключатель Включить или отключить вход через Discord
Client ID Application ID из Discord Developer Portal
Client Secret Соответствующий секретный ключ

Настройка провайдера

  1. Создайте приложение разработчика на платформе провайдера (ссылки на консоли разработчиков каждого провайдера доступны рядом с полями конфигурации).
  2. Настройте приложение для потока Device Authorization Grant (где это применимо).
  3. Скопируйте Client ID и Client Secret в соответствующие поля в HandyCafe.
  4. Включите переключатель провайдера.
  5. Сохраните настройки.

Для Google можно экспортировать JSON-файл учетных данных из Google Cloud Console и использовать кнопку Импорт JSON для автоматического заполнения обоих полей.

Проверка конфигурации

После сохранения настроек OAuth:

  1. Перейдите к клиентскому ПК, подключенному к серверу.
  2. На экране блокировки клиента найдите опцию входа через OAuth.
  3. Выберите настроенного провайдера и инициируйте вход.
  4. На экране клиента появится код устройства и QR-код.
  5. Отсканируйте QR-код телефоном или перейдите по указанному URL и введите код.
  6. Пройдите аутентификацию на телефоне.
  7. Сервер опрашивает провайдера на получение токена и в зависимости от конфигурации либо автоматически одобряет вход, либо отправляет запрос администратору на подтверждение.
  8. После одобрения аккаунт участника создается или привязывается и клиентская сессия запускается.

Полное описание процесса входа через device-flow см. в документации OAuth Login.