- User → Keycloak
Запрос аутентификации (логин/пароль)Пользователь отправляет свои учетные данные. С телом запроса (например, grant type = password или authorization code)
2. Keycloak → User
Возвращает JWT (header.payload.signature)Keycloak проверяет данные, создаёт
JWT-токен (подписанный своим приватным ключом) и возвращает его клиенту.
Этот токен включает:
- sub — идентификатор пользователя,
- exp — срок действия,
- roles — роли,
- iss — издателя (Keycloak),
- aud — получателя (API Gateway или приложение).
3. User → API Gateway
Запрос к API с JWT в заголовкеПользователь обращается к API через шлюз. API Gateway получает токен и начинает его валидацию.
4. API Gateway → Keycloak (опционально)
Проверка подписи JWT5.Application Server
Возврат результата или ошибки✅ Подпись верна:
Gateway пропускает запрос.
Application Server выполняет логику (например, отдает данные о заказах).
Возвращается успешный ответ
200 OK с данными.
❌ Подпись неверна:
- Gateway или сервер отклоняет запрос.
- Возвращает 401 Unauthorized: