Інтеграція Supabase Auth для аутентифікації на веб-сайті
Supabase Auth — компонент платформи Supabase, побудований поверх GoTrue. Зберігає користувачів у таблиці PostgreSQL auth.users, генерує 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 дні.







