Курс

Зачем нужна авторизация

МОДУЛЬ 5: АВТОРИЗАЦИЯ И БАЗА ДАННЫХ • Урок 1 из 5

Сайт работает. Домен подключён. Пользователи заходят. Но есть нюансик: все видят всё. Вася видит задачи Пети. Петя видит задачи Маши. Любой человек видит все данные. Это никуда не годится.

[ ПРОБЛЕМА, ЧЕЛ ]

Сейчас твоё приложение не знает, кто им пользуется ¯\( • • )/¯

Без авторизации:

  • Открыл приложение — видишь чужие данные
  • Все видят твои данные
  • Невозможно сделать "личный кабинет"
  • Нельзя понять кто есть кто

С авторизацией:

  • Входишь под своим аккаунтом
  • Видишь только свои данные
  • Другие не видят твоё
  • Приложение знает кто ты
💡 Пример для трудных:

Заходишь в ВК → вводишь логин/пароль → ВК знает что это ты → показывает твою страницу. В твоём приложении будет так же.

[ ДВА СПОСОБА СДЕЛАТЬ АВТОРИЗАЦИЮ ]

Supabase поддерживает разные методы авторизации. Два основных:

1. Email + Пароль

Классический вариант: пользователь регистрируется с почтой и паролем.

Плюсы:

  • Работает сразу из коробки — ничего настраивать не нужно
  • Не зависит от внешних сервисов (Google, Facebook и т.д.)
  • Настраивается за 5 минут

Минусы:

  • Пользователю нужно запоминать пароль
  • Нужно делать кнопку "забыл пароль" (но это не трудно, Супабейз это позволяет)

2. OAuth (вход через Google, GitHub и другие)

Пользователь нажимает "Войти через Google" → выбирает аккаунт → готово.

Плюсы:

  • Пользователю не нужно запоминать пароль
  • Быстрая регистрация (один клик)
  • Не нужно хранить пароли

Минусы:

  • Зависимость от Google / GitHub / другого сервиса
  • Нужна настройка в Google Console (дополнительный квест)
  • Не все пользователи доверяют OAuth.
💡 Что выбрать для первого проекта:

Я обычно начинаю с Email + Пароль — это проще. OAuth можно добавить потом, если понадобится. Supabase позволяет использовать оба метода одновременно.

[ НАСТРОЙКА ДЛЯ ТЕСТИРОВАНИЯ ]

По умолчанию Supabase требует подтверждения почты: пользователь регистрируется → получает письмо → кликает на ссылку → только потом может войти.

Для тестирования это неудобно. Можно отключить:

  1. Открой панель управления Supabase на своём сервере (обычно http://твой-ip:8000)
  2. Authentication → Providers → Email
  3. Выключи тумблер "Confirm email"

Теперь пользователи смогут входить сразу после регистрации, без подтверждения почты.

⚠️ Важно:

Когда проект готов к реальному запуску — включи подтверждение обратно. Это важная защита от спама и фейковых аккаунтов. Для тестирования отключай. Для продакшена (рабочей версии) — включай.

[ ЧТО ДАЁТ SUPABASE AUTH ]

Supabase умеет:

  • Вход по email + пароль
  • Вход через Google, GitHub, Facebook и другие OAuth-провайдеры
  • Magic Links (вход по ссылке из письма, без пароля)
  • Хранение сессий (приложение помнит что ты вошёл)
  • Управление пользователями
  • Восстановление пароля ("забыл пароль")

Всё это уже встроено. Нужно только подключить.

[ ЧТО БУДЕМ ДЕЛАТЬ ]

В следующих уроках настроим авторизацию:

  1. Настроим Google OAuth (опционально) — если хочешь вход через Google
  2. Добавим вход в приложение — форма регистрации/входа
  3. Настроим RLS — сделаем так чтобы каждый видел только свои данные

После этого:

  • Пользователи смогут регистрироваться и входить
  • Приложение будет знать кто вошёл
  • Каждый будет видеть только свои задачи
💡 Можно начать с email, потом добавить OAuth:

Если не хочешь возиться с Google Console, начни с обычного email + пароль. В уроке "Добавляем вход в приложение" показаны оба варианта.

[ ПРОВЕРКА ]

Что должно быть:

  • Понимаешь зачем нужна авторизация
  • Знаешь два основных способа: Email/Password и OAuth
  • Знаешь что Supabase это умеет из коробки
  • Понимаешь зачем нужна настройка "Confirm email"

Готов? → Идём настраивать.

💬 Совет:

Настройка входа (авторизации) это момент, когда твоё приложение превращается из общедоступной страницы в личное пространство для каждого пользователя. У каждого свой аккаунт, свои данные, своя история.

Начни с того варианта, который кажется проще. Email + пароль работает из коробки — никаких настроек в сторонних сервисах. OAuth добавишь позже, если понадобится. Главное щас запустить и дать людям возможность войти. И чтобы для них это было легко и удобно!