Авторизация и контекст
Заголовки x-restaurant-id, x-user-role, x-user-name и роли доступа.
4 мин чтения#api#авторизация#headers#auth
Авторизация построена на доверенных заголовках, которые веб-клиент прокидывает из NextAuth-сессии. Контекст ресторана и роль пользователя определяются на каждом запросе.
Заголовки запроса
x-restaurant-id: 12 # ID ресторана (scope) x-user-role: OWNER # роль пользователя x-user-name: Иван%20Петров # имя (URL-encoded)
x-restaurant-id— основной scope. Поддерживаетallи список ID через запятую для сетевых аккаунтов.x-user-roleиx-user-name— нужны для операций с проверкой прав (поддержка, владелец).
Уровни доступа
- public — заголовок ресторана не требуется (например,
/api/health). - restaurant — обязателен
x-restaurant-id. - owner — дополнительно
x-user-role: OWNER.
Важно
Сейчас сервер доверяет заголовкам (header-trust, MVP для внутреннего использования) и не проверяет JWT. Публичная авторизация по API-ключам с подписью запросов — в планах; не выставляйте текущий API в открытый интернет без шлюза авторизации.
