Интеграция Supabase Auth для аутентификации на сайте
Supabase Auth — компонент платформы Supabase, построенный поверх GoTrue. Хранит пользователей в таблице auth.users PostgreSQL, генерирует JWT с настраиваемыми claims и поддерживает магические ссылки, OTP, OAuth и SAML. Удобен, если backend уже на Supabase — авторизация встроена напрямую в RLS-политики таблиц.
Что входит в интеграцию
- Установка
@supabase/supabase-js, инициализация клиента сanon keyиservice role key - Настройка email-провайдера (SMTP через Resend, Postmark или встроенный Supabase SMTP)
- Реализация логина через
supabase.auth.signInWithOAuth({ provider: 'google' })и email OTP - Настройка Row Level Security: политики
auth.uid() = user_idдля изоляции данных по пользователю - Серверная верификация JWT в Next.js через
createServerClientиз@supabase/ssr - Синхронизация профиля: trigger
on auth.users insert → public.profiles insert - Настройка redirect URLs, PKCE flow для мобильных клиентов
Особенности RLS-интеграции
-- Пользователь видит только свои записи
CREATE POLICY "own_data" ON orders
FOR SELECT USING (auth.uid() = user_id);
Это позволяет делать запросы напрямую с клиента через anon key — база сама фильтрует данные. Не нужен отдельный API-слой для базовых CRUD-операций.
Сроки
Email + OAuth (Google) + базовые RLS-политики — 1–2 рабочих дня. Сложные сценарии с мультитенантностью и кастомными SAML-провайдерами — 3–4 дня.







