Перейти к основному содержимому

Аутентификация

BeePass использует Supabase Auth с SSR-куками (Server-Side Rendering). Аутентификация осуществляется автоматически через браузер с помощью HttpOnly-кук.

Регистрация

Создайте учётную запись через веб-интерфейс или API Supabase Auth:

  • Email: действующий адрес электронной почты (подтверждается по ссылке)
  • Пароль: минимум 8 символов, 1 цифра, 1 специальный символ
  • Доступные роли: eleveur (пчеловод-селекционер), testeur (тестировщик), groupe_selection, research_center
Защищённые роли

Роли groupe_selection и research_center требуют подтверждения администратором после регистрации.

Вход

Вход через Supabase Auth (signInWithPassword) автоматически устанавливает SSR-куки сессии. Ручная передача заголовка Authorization не требуется для API-вызовов из браузера.

MFA (Многофакторная аутентификация)

При входе с нового устройства на электронную почту отправляется 6-значный код (через Brevo). Устройство идентифицируется по цифровому отпечатку (Canvas + User-Agent).

  • Распознанные устройства не запрашивают MFA
  • Код действителен в течение 10 минут
  • Максимум 10 попыток проверки в минуту

Сессии

МетодМаршрутОписание
GET/api/auth/sessionsСписок активных сессий
DELETE/api/auth/sessionsОтзыв сессии (тело: { session_id })

Отзыв удаляет refresh-токен. Текущий JWT остаётся действительным до истечения срока (~1 час).

Аутентификация администратора

Аутентификация администратора независима от сессии пчеловода. Обе сессии могут существовать одновременно.

МетодМаршрутОписание
POST/api/admin/auth/loginВход администратора (устанавливает HMAC-куку)
GET/api/admin/auth/sessionЧтение сессии администратора
POST/api/admin/auth/logoutВыход администратора (удаляет куку)

Кука beepass-admin-token является HMAC-подписанным JWT (HS256), HttpOnly, Secure, SameSite=Strict, со сроком действия 8 часов.

Двойная сессия

Вы можете быть одновременно авторизованы как пчеловод (кука Supabase) и как администратор (HMAC-кука). Обе сессии независимы.

Аудит

МетодМаршрутОписание
POST/api/auth/auditЗапись события аудита
GET/api/auth/auditИстория событий аудита

События аудита отслеживают входы, выходы, отзывы сессий и другие чувствительные действия.

Удаление учётной записи

МетодМаршрутОписание
DELETE/api/auth/delete-accountУдаление учётной записи (требуется MFA-подтверждение)

См. также: Обзор | Матки | Оценки