WIKI / ИНТЕГРАЦИЯ

API и интеграции

Основные контуры HTTP/API и правила работы с административными и пользовательскими операциями.

RustCloak / Технические материалы · Сверяйте примеры с используемой версией проекта.

Два назначения API

Public REST / OIDC обслуживает аутентификацию и интеграции клиентских приложений. Admin GraphQL предназначен для управления realm, пользователями, ролями, группами и другими сущностями.

КонтурНазначениеАвторизация
REST / OIDCВход, токены, протокольные запросыЗависит от endpoint и OAuth flow
GraphQL AdminАдминистративные запросы и измененияПроверка серверных ролей и токена

GraphQL: пример запроса

В текущей среде разработки административный GraphQL используется по адресу http://localhost:8080/admin/graphql. Это локальный пример, а не гарантия production-маршрута.

HTTP / graphql
curl -X POST 'http://localhost:8080/admin/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ADMIN_TOKEN' \
  --data '{"query":"query { __typename }"}'

Указанный запрос показывает структуру вызова. Доступность introspection и ответ зависят от действующей конфигурации и разрешений.

Интеграция клиента

  1. Создайте или получите конфигурацию клиента в нужном realm.
  2. Проверьте redirect URI и разрешённые flows.
  3. Обнаружьте OIDC metadata и публичные ключи через подтверждённый issuer.
  4. Используйте Authorization Code + PKCE для пользовательского входа.
  5. Проверяйте токены на стороне сервиса, которому они адресованы.

Ошибки и аудит

Клиент не должен показывать пользователю внутренние детали SQL/SQLx, stack traces и секреты. Ошибки авторизации должны быть предсказуемы, безопасны и коррелированы с журналом событий там, где это предусмотрено.

Схема OIDC-потока →