4.2 KiB
4.2 KiB
🔐 Настройка OAuth Провайдеров
🎯 Быстрая настройка для менеджера
1. Google OAuth
- Перейти в Google Cloud Console
- Создать проект или выбрать существующий
- APIs & Services → Credentials → Create Credentials → OAuth 2.0 Client ID
- Application type: Web application
- Authorized redirect URIs:
https://v3.dscrs.site/oauth/google/callbackhttp://localhost:3000/oauth/google/callback(для разработки)
- Скопировать Client ID и Client Secret
Переменные окружения:
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
2. GitHub OAuth
- Перейти в GitHub Developer Settings
- New OAuth App
- Authorization callback URL:
https://v3.dscrs.site/oauth/github/callback - Скопировать Client ID и Client Secret
Переменные окружения:
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
3. VK OAuth
- Перейти в VK Developers
- Создать приложение → Веб-сайт
- Настройки → Redirect URI:
https://v3.dscrs.site/oauth/vk/callback - Скопировать ID приложения и Защищённый ключ
Переменные окружения:
VK_CLIENT_ID=your_vk_app_id
VK_CLIENT_SECRET=your_vk_secure_key
4. Facebook OAuth
- Перейти в Facebook Developers
- My Apps → Create App → Consumer
- Facebook Login → Settings
- Valid OAuth Redirect URIs:
https://v3.dscrs.site/oauth/facebook/callback - Скопировать App ID и App Secret
Переменные окружения:
FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret
5. Yandex OAuth
- Перейти в Yandex OAuth
- Создать новое приложение
- Callback URI:
https://v3.dscrs.site/oauth/yandex/callback - Права:
login:info,login:email,login:avatar - Скопировать ID и Пароль
Переменные окружения:
YANDEX_CLIENT_ID=your_yandex_client_id
YANDEX_CLIENT_SECRET=your_yandex_client_secret
🚀 Развертывание
Локальная разработка
# .env файл
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
# и т.д.
Продакшн (Dokku/Heroku)
# Установка переменных окружения
dokku config:set myapp GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=yyy
# или
heroku config:set GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=yyy
✅ Проверка настройки
- Перезапустить приложение
- Проверить логи:
OAuth provider google: id=SET, key=SET - Тестовый вход:
https://v3.dscrs.site/oauth/google
🔍 Диагностика проблем
Ошибка "Provider not configured":
- Проверить переменные окружения
- Убедиться что значения не пустые
- Перезапустить приложение
Ошибка redirect_uri_mismatch:
- Проверить точное соответствие URL в настройках провайдера
- Убедиться что протокол (http/https) совпадает
VK ошибка "Code challenge method is unsupported":
- Это нормально, VK не поддерживает PKCE
- Система автоматически обрабатывает это
📞 Поддержка
При проблемах проверить:
- Логи приложения при запуске
- Настройки redirect URI у провайдера
- Корректность переменных окружения