Настройки OAuth
Категория настроек OAuth настраивает аутентификацию через устройство, позволяя пользователям входить на клиентские ПК, используя свои существующие социальные аккаунты. Это реализует Device Authorization Grant (RFC 8628), который предназначен для киосков и общественных сред, где пользователи аутентифицируются на отдельном устройстве (своем телефоне), а не вводят учетные данные на общем ПК.
Основной переключатель
Переключатель Включить вход через OAuth управляет всей системой OAuth. Когда он отключен, опция входа через OAuth не отображается на экранах блокировки клиентов. Когда включен, настроенные провайдеры доступны для входа пользователей.
Название кафе
Отображаемое название вашего кафе, которое показывается в контексте аутентификации OAuth. Это помогает пользователям подтвердить, что они входят в правильное заведение, когда видят запрос на авторизацию на своем телефоне.
Разрешить вход без кредита
Когда включено, пользователи могут входить через OAuth, даже если баланс их кошелька равен нулю. Это полезно для кафе, которые хотят разрешить бесплатный просмотр или где пользователи оплачивают на кассе, а не через предоплаченный кредит.
Когда отключено, пользователи должны иметь положительный баланс кошелька для завершения входа через OAuth.
Настройка провайдеров
HandyCafe поддерживает пять провайдеров OAuth. Каждый провайдер настраивается независимо:
| Поле | Описание |
|---|---|
| Переключатель включения | Включить или отключить вход через Google |
| Client ID | OAuth 2.0 Client ID из вашего проекта в Google Cloud Console |
| Client Secret | Соответствующий секрет клиента |
| Импорт JSON | Загрузите файл учетных данных в формате Google JSON для автоматического заполнения полей Client ID и Client Secret |
| Поле | Описание |
|---|---|
| Переключатель включения | Включить или отключить вход через 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 | Соответствующий секрет клиента |
Настройка провайдера
- Создайте приложение разработчика на платформе провайдера (ссылки на консоли разработчиков каждого провайдера доступны рядом с полями настройки).
- Настройте приложение для потока Device Authorization Grant, если это применимо.
- Скопируйте Client ID и Client Secret в соответствующие поля в HandyCafe.
- Включите переключатель провайдера.
- Сохраните настройки.
Для Google вы можете экспортировать учетные данные JSON из Google Cloud Console и использовать кнопку Импорт JSON для автоматического заполнения обоих полей.
Тестирование конфигурации
После сохранения настроек OAuth:
- Перейдите на клиентский ПК, подключенный к серверу.
- На экране блокировки клиента найдите опцию входа через OAuth.
- Выберите настроенного провайдера и инициируйте вход.
- На экране клиента появится код устройства и QR-код.
- Сканируйте QR-код своим телефоном или перейдите по указанному URL и введите код.
- Завершите аутентификацию на своем телефоне.
- Сервер опрашивает токен и, в зависимости от вашей конфигурации, либо автоматически одобряет вход, либо отправляет запрос администратору для одобрения.
- После одобрения учетная запись пользователя создается или связывается, и клиентская сессия начинается.
Для полного процесса входа через устройство, см. документацию по входу через OAuth.