Roles (роли)
Модели авторизации
Backend-driven (самый популярный)
JWT → roles → проверка в FastAPI
+ простой
+ быстрый
- логика размазана по коду
Token-driven (через claims)
JWT уже содержит всё → backend просто читает
+ без внешних запросов
- сложнее управлять динамикой
+ централизованная политика
+ ABAC / RBAC / rules
- сложность
- задержка
Каждая роль может быть переключена в композитный режим (объединение других ролей).
| Название | Композитная | Только в master realm | Назначение |
| admin | Да | Да | Административные права: управление пользователями, клиентами, ролями и конфигурацией реалма |
| create-realm | Нет | Да | Создание новых realms через Admin Console или REST API. |
| default-roles-master | Да | Нет | набор ролей, назначаемых по умолчанию всем новым пользователям master realm. Включает offline_access, uma_authorization и другие (можно посмотреть внутри composite). |
| offline-access | Нет | Нет | дает возможность получать offline refresh tokens - живут дольше, не требуют активной сессии пользователя. |
| uma_authorization | Нет | Нет | позволяет использовать User-Managed Access (UMA) - механизм, при котором пользователь может делегировать доступ к своим ресурсам другим пользователям (используется при ресурсно-ориентированном доступе). |