Appearance
Keycloak
Keycloak используется как центральный провайдер аутентификации и авторизации во всех сервисах платформы A-Ceramica. Он позволяет централизованно управлять пользователями, их ролями и доступом к различным компонентам системы, включая фронтенд кабинета партнёра, админ-панель и backend-сервисы
Архитектура
- Развёртывание: через Docker-контейнер в составе инфраструктуры Staging-сервера
- Протоколы: OpenID Connect (OIDC) / OAuth 2.0
- Реалм:
a-ceramica - Хранилище пользователей: отдельная база данных PostgreSQL в контейнере
Основные возможности
- Централизованная регистрация и вход через OIDC
- Делегирование прав доступа через роли и client scopes
- Возможность входа по логину/паролю (
Direct Access Grant) - Настраиваемые
Scopesдля расширенного контроля над выданными токенами - Реализация безопасного
logout
Интеграция в проекты
- Frontend: клиент для Nuxt-приложений, с поддержкой входа, регистрации и выхода пользователей
- Backend (FastAPI): валидация JWT-токенов и разграничение доступа на основе ролей
- Администрирование: сервисный клиент для выполнения задач управления пользователями и правами доступа