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