Настройка OAuth — это связка двух сервисов: Google и Supabase. Сделаем всё по порядку: сначала все шаги в Google, потом все шаги в Supabase.
[ ЧАСТЬ 1: GOOGLE CLOUD ]
Что делаем в Google
Создаём "пропуск" для твоего приложения. Google должен знать, что твоё приложение существует и имеет право использовать вход через Google.
ШАГ 1: Создаём проект
- Открой
console.cloud.google.com
- Залогинься под своим Google-аккаунтом
- Наверху нажми на выпадающий список проектов → "New Project"
- Название: например, "My App Auth"
- Нажми "Create"
ШАГ 2: Настраиваем OAuth consent screen
- В меню слева: "APIs & Services" → "OAuth consent screen"
- User Type: "External" → "Create"
- Заполни только обязательные поля:
- App name — название приложения
- User support email — твой email
- Developer contact email — твой email
- Жми "Save and Continue" на каждом шаге до конца
Google Cloud часто обновляется. Сделай скриншот — отправь Claude → он покажет куда нажать.
ШАГ 3: Публикуем приложение
По умолчанию приложение в режиме "Testing" — это ограничение до 100 пользователей.
- Перейди в "OAuth consent screen"
- Найди кнопку "Publish App"
- Подтверди публикацию
Без этого шага войти смогут только 100 человек. Для реального проекта — обязательно опубликуй.
ШАГ 4: Создаём OAuth Client
- В меню: "APIs & Services" → "Credentials"
- Нажми "+ Create Credentials" → "OAuth Client ID"
- Application type: "Web application"
- Name: любое (например, "Web Client")
Authorized JavaScript origins:
https://твой-домен.com
https://my-project.vercel.app
http://localhost:5173
Добавь все адреса откуда будут входить пользователи.
Authorized redirect URIs:
Оставь пустым — добавим после настройки Supabase.
- Нажми "Create"
ШАГ 5: Сохраняем ключи
Появится окно с двумя значениями:
- Client ID — публичный идентификатор
- Client Secret — секретный ключ
Скопируй оба в надёжное место (заметки, текстовый файл). Окно можно закрыть — ключи останутся в настройках.
[ ЧАСТЬ 2: SUPABASE ]
ШАГ 6: Включаем Google-провайдер
- Открой Supabase → твой проект
- В меню: "Authentication" → "Providers"
- Найди "Google" → включи переключатель
ШАГ 7: Вставляем ключи из Google
В открывшейся форме:
- Client ID — вставь Client ID из Google
- Client Secret — вставь Client Secret из Google
Да, мы вставляем его в Supabase. Это безопасно — Supabase хранит его зашифрованным и использует только на сервере. В браузер пользователя этот ключ никогда не попадёт.
ШАГ 8: Копируем Callback URL
Под полями ввода найди "Callback URL (for OAuth)".
Скопируй его. Выглядит так:
https://xxxxx.supabase.co/auth/v1/callback
Этот URL нужно добавить в Google.
Пока НЕ нажимай Save — сначала добавим URL в Google.
[ ЧАСТЬ 3: ФИНАЛЬНАЯ СВЯЗКА ]
ШАГ 9: Добавляем Callback URL в Google
- Вернись в Google Cloud → Credentials
- Нажми на свой OAuth Client
- В разделе "Authorized redirect URIs" добавь Callback URL от Supabase
- Нажми "Save"
ШАГ 10: Сохраняем в Supabase
- Вернись в Supabase → Authentication → Providers → Google
- Нажми "Save"
[ ПРОВЕРКА ]
Что должно быть готово:
- Google Cloud: проект создан
- Google Cloud: OAuth consent screen настроен
- Google Cloud: приложение опубликовано (Publish App)
- Google Cloud: OAuth Client создан с redirect URI от Supabase
- Supabase: Google-провайдер включён, ключи вставлены
Если всё на месте — переходим к добавлению кнопки входа в приложение.
OAuth-настройка выглядит сложной только в первый раз. Много копирования между сервисами, легко что-то пропустить.
Если вход не работает — 90% случаев это опечатка в redirect URI или забытый "Save". Просто пройди по шагам ещё раз.