OAuth авторизация
Авторизация через Google и GitHub
Зачем это нужно
По умолчанию пользователи входят через код на email: вводят адрес, получают письмо, кликают по ссылке. Это работает, но есть нюансы:
- Письмо может идти долго или попасть в спам
- Каждый вход — ждать письмо и переключаться между приложениями
С OAuth читатель входит через Google или GitHub в один клик. Не нужно ждать письма и проверять почту.
Компромисс: OAuth требует разовой настройки — зарегистрировать приложение в Google или GitHub и ввести ключи в Trip2G.
Как это работает
Два шага:
- Вы добавляете пользователя в Trip2G — указываете его email и права (читатель или админ)
- Пользователь входит через OAuth — его email в Google/GitHub должен совпадать с email в Trip2G
OAuth не даёт доступ автоматически. Сначала вы решаете, кого пустить. Потом человек входит удобным способом.
Как подключить
Чтобы подключить OAuth:
- Зарегистрируйте приложение в Google и/или GitHub
- Введите полученные ключи в админке Trip2G
Шаг 1. Создайте проект
- Откройте Google Cloud Console
- Создайте проект или выберите существующий
Шаг 2. Настройте OAuth consent screen
- Перейдите в API и сервисы → Окно запроса доступа OAuth
- Нажмите Начать
- Введите название приложения (например, название вашего сайта)
- Укажите email для поддержки
- В разделе «Аудитория» выберите Внешний (для любых пользователей) или Внутренний (только для вашей организации Google Workspace)
- Добавьте email-адреса и завершите настройку
Шаг 3. Создайте credentials
- Перейдите в API и сервисы → Учётные данные
- Нажмите Создать учётные данные → Идентификатор клиента OAuth
- Выберите тип Веб-приложение
- В поле Разрешённые URI перенаправления добавьте:
https://ваш-домен.com/_system/auth/google/callback - Нажмите Создать
- Скопируйте Client ID и Client Secret
GitHub
- Откройте GitHub Developer Settings
- Нажмите New OAuth App
- Заполните форму:
- Application name: название вашего сайта
- Homepage URL:
https://ваш-домен.com - Authorization callback URL:
https://ваш-домен.com/_system/auth/github/callback
- Нажмите Register application
- Скопируйте Client ID
- Нажмите Generate a new client secret и скопируйте Client Secret
Ввод ключей в админке
- Войдите в админ-панель Trip2G
- Перейдите в Админ панель → Google OAuth или GitHub OAuth
- Введите Client ID и Client Secret
- Сохраните и активируйте провайдер
Что увидят пользователи
После активации в окне входа появится кнопка «Войти через Google» или «Войти через GitHub» — рядом с полем для email.
Если деактивировать провайдер — кнопка исчезнет. Пользователи смогут входить только через код на email.
Безопасность
Client Secret хранится в базе в зашифрованном виде. Даже если бэкап попадёт в чужие руки — без ключа шифрования секреты недоступны.