Аутентификация
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-подтверждение) |