Аутентификация
После login / register клиент сохраняет пару токенов и ходит в API с access-токеном.
| Токен | Назначение |
|---|---|
access_token | Короткоживущий; заголовок Authorization: Bearer <access_token> |
refresh_token | Обновление access без повторного ввода пароля |
Поток при 401 на защищённом маршруте (веб-клиент):
POST /api/v1/auth/refreshс refresh-токеном.- Успех → сохранить новый access (и refresh, если ротация).
- Неудача → разлогин, редирект на login.
Не кладите токены в URL, логи сервера приложения и публичные репозитории.
Эндпоинты (обзор)
Заголовок раздела «Эндпоинты (обзор)»| Метод и путь | Назначение |
|---|---|
POST /api/v1/auth/register | Регистрация (email, имя, пароль) |
POST /api/v1/auth/login | Вход |
POST /api/v1/auth/refresh | Обновление access |
POST /api/v1/auth/forgot-password | Запрос письма/токена сброса |
POST /api/v1/auth/reset-password | Установка нового пароля по токену |
| OAuth | Google / Yandex / VK / Mail — если включены в конфигурации сервера |
UI сброса: app.planovik.pro/forgot-password.
Регистрация: app.planovik.pro/register.
- Клиент инициирует OAuth у провайдера (redirect URI из настроек backend).
- Callback на стороне приложения / API обменивает code на сессию Planovik.
- Дальше — те же JWT access/refresh, что и при password-login.
Набор провайдеров зависит от env сервера; отсутствие кнопки в UI ≠ «эндпоинт обязан существовать».
Rate limit
Заголовок раздела «Rate limit»Auth-группа защищена отдельным rate limit (brute-force login/register/reset). При 429 — backoff, не долбить цикл refresh+login.
Сессия в веб-клиенте
Заголовок раздела «Сессия в веб-клиенте»- Токены хранятся в согласованном session/storage-слое клиента (не в markdown docs).
- Выход — очистка токенов + invalidate на сервере, если endpoint logout реализован.
- Смена пароля / компрометация — сброс сессий по политике backend.
Персональные API-ключи
Заголовок раздела «Персональные API-ключи»Для интеграций (не путать с JWT сессии пользователя и с BYOK ключами ИИ):
- создаются в Настройки аккаунта → API;
- секрет показывается один раз;
- лимит числа ключей (в UI — до 10);
- revoke отключает все вызовы с этим ключом.
Использование и права ключей описаны в документации внешнего API. Передавайте ключ в Authorization: Bearer plk_… и никогда не коммитьте его.
Связанные разделы
Заголовок раздела «Связанные разделы»- Внешний API
- Быстрый старт — регистрация с точки зрения пользователя
- ИИ — BYOK ключи провайдеров (отдельная сущность)