Русский
Авторизация через Google и GitHub
Зачем это нужно
По умолчанию пользователи входят через код на email: вводят адрес, получают письмо, кликают по ссылке. Это работает, но есть нюансы:
- Письмо может идти долго или попасть в спам
- Каждый вход — ждать письмо и переключаться между приложениями
С OAuth читатель входит через Google или GitHub в один клик. Не нужно ждать письма и проверять почту.
Компромисс: OAuth требует разовой настройки — зарегистрировать приложение в Google или GitHub и ввести ключи в Trip2G.
Как это работает
Два шага:
- Вы добавляете пользователя в Trip2G — указываете его email и права (читатель или админ)
- Пользователь входит через OAuth — его email в Google/GitHub должен совпадать с email в Trip2G
OAuth не даёт доступ автоматически. Сначала вы решаете, кого пустить. Потом человек входит удобным способом.
sequenceDiagram
participant Admin as Администратор
participant trip2g as Trip2G
participant Reader as Читатель
participant Provider as Google / GitHub
Admin->>trip2g: Добавить пользователя (email + роль)
Reader->>Provider: Войти (один клик)
Provider-->>trip2g: Подтверждённый email
alt Email совпадает с зарегистрированным пользователем
trip2g->>Reader: Доступ разрешён
else Email не найден
trip2g->>Reader: Доступ запрещён
end
Как подключить
Чтобы подключить 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 хранится в базе в зашифрованном виде. Даже если бэкап попадёт в чужие руки — без ключа шифрования секреты недоступны.
Связанные статьи
- ru/user/oidc — OIDC / Корпоративный SSO (Authentik и другие OpenID Connect-провайдеры)