> ## Documentation Index
> Fetch the complete documentation index at: https://docs.botmux.dev/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Сессионная аутентификация с ролями и API-ключами

BotMux предоставляет двойную аутентификацию: на основе cookie-сессий и Bearer API-ключей.

## Методы аутентификации

### Сессионные cookie

* Срок действия 30 дней
* HttpOnly, SameSite=Strict
* Создаются при входе через `/api/auth/login`

### API-ключи

* Bearer-токен в заголовке `Authorization` (`Authorization: Bearer bmx_...`)
* Ключи привязаны к пользователям и наследуют их роль/разрешения
* Хранятся в базе данных в виде хеша SHA-256

## Процесс аутентификации

1. `authMiddleware` сначала проверяет Bearer-токен
2. Затем проверяет сессионный cookie
3. Ответ 401, если ни один из них не валиден

## Эндпоинты без аутентификации

| Эндпоинт      | Причина                                          |
| ------------- | ------------------------------------------------ |
| `/`           | SPA управляет авторизацией на стороне клиента    |
| `/api/health` | Проверки состояния                               |
| `/tgapi/*`    | Прокси API бэкенда (токен является авторизацией) |

## Администратор по умолчанию

При первом запуске создаётся учётная запись администратора по умолчанию:

* Логин: `admin`
* Пароль: `admin`
* Установлен флаг `must_change_password` — пользователь должен сменить пароль при первом входе
