Перейти к содержанию
Версия: 4.2.159 Обновлено: 2026-04-29

Поток аутентификации

Saga использует двойную auth-схему: Supabase подтверждает пользователя, backend выдаёт собственный JWT для API.

Шаги

  1. Пользователь входит через Google OAuth, email/password или magic link.
  2. Frontend получает Supabase session.
  3. Frontend вызывает /api/auth/supabase/login.
  4. Backend проверяет Supabase JWT через JWKS.
  5. Backend создаёт Saga JWT с user/admin claims.
  6. Frontend отправляет Saga JWT в Authorization: Bearer ....

Инварианты

  • Email обязателен и является основным идентификатором пользователя.
  • Wallet-based login не используется.
  • Admin-доступ проверяется backend claims, а не состоянием UI.
  • Истечение токена должно приводить к явной ошибке авторизации.

Проверки

  • Backend JWT валиден через make jwt-validate TOKEN=....
  • User API и admin API тестируются раздельно.
  • E2E тесты не используют хардкод токены.

Связанные документы