Налаштування 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 | Завантажте файл облікових даних у форматі 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-адресою та введіть код.
- Завершіть аутентифікацію на своєму телефоні.
- Сервер перевіряє токен і, залежно від вашої конфігурації, або автоматично схвалює вхід, або надсилає запит адміністратору для схвалення.
- Після схвалення створюється або зв'язується обліковий запис клієнта, і починається сесія клієнта.
Для повного процесу входу через device-flow дивіться документацію з входу через OAuth.