Files
core/docs/oauth-setup.md
Untone 9d4e24732e
All checks were successful
Deploy on push / deploy (push) Successful in 7m13s
oauth-instruct
2025-09-23 21:34:48 +03:00

4.2 KiB
Raw Blame History

🔐 Настройка OAuth Провайдеров

🎯 Быстрая настройка для менеджера

1. Google OAuth

  1. Перейти в Google Cloud Console
  2. Создать проект или выбрать существующий
  3. APIs & ServicesCredentialsCreate CredentialsOAuth 2.0 Client ID
  4. Application type: Web application
  5. Authorized redirect URIs:
    • https://v3.dscrs.site/oauth/google/callback
    • http://localhost:3000/oauth/google/callback (для разработки)
  6. Скопировать Client ID и Client Secret

Переменные окружения:

GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

2. GitHub OAuth

  1. Перейти в GitHub Developer Settings
  2. New OAuth App
  3. Authorization callback URL: https://v3.dscrs.site/oauth/github/callback
  4. Скопировать Client ID и Client Secret

Переменные окружения:

GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

3. VK OAuth

  1. Перейти в VK Developers
  2. Создать приложениеВеб-сайт
  3. НастройкиRedirect URI: https://v3.dscrs.site/oauth/vk/callback
  4. Скопировать ID приложения и Защищённый ключ

Переменные окружения:

VK_CLIENT_ID=your_vk_app_id
VK_CLIENT_SECRET=your_vk_secure_key

4. Facebook OAuth

  1. Перейти в Facebook Developers
  2. My AppsCreate AppConsumer
  3. Facebook LoginSettings
  4. Valid OAuth Redirect URIs: https://v3.dscrs.site/oauth/facebook/callback
  5. Скопировать App ID и App Secret

Переменные окружения:

FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret

5. Yandex OAuth

  1. Перейти в Yandex OAuth
  2. Создать новое приложение
  3. Callback URI: https://v3.dscrs.site/oauth/yandex/callback
  4. Права: login:info, login:email, login:avatar
  5. Скопировать 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

Проверка настройки

  1. Перезапустить приложение
  2. Проверить логи: OAuth provider google: id=SET, key=SET
  3. Тестовый вход: https://v3.dscrs.site/oauth/google

🔍 Диагностика проблем

Ошибка "Provider not configured":

  • Проверить переменные окружения
  • Убедиться что значения не пустые
  • Перезапустить приложение

Ошибка redirect_uri_mismatch:

  • Проверить точное соответствие URL в настройках провайдера
  • Убедиться что протокол (http/https) совпадает

VK ошибка "Code challenge method is unsupported":

  • Это нормально, VK не поддерживает PKCE
  • Система автоматически обрабатывает это

📞 Поддержка

При проблемах проверить:

  1. Логи приложения при запуске
  2. Настройки redirect URI у провайдера
  3. Корректность переменных окружения