HandyCafe Docs
owner it-admin

Настройки OAuth

Категория настроек OAuth настраивает аутентификацию через устройство, позволяя пользователям входить на клиентские ПК, используя свои существующие социальные аккаунты. Это реализует 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 Загрузите файл учетных данных в формате Google JSON для автоматического заполнения полей 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. После одобрения учетная запись пользователя создается или связывается, и клиентская сессия начинается.

Для полного процесса входа через устройство, см. документацию по входу через OAuth.