ТЕХНИЧЕСКИЙ ОБЗОР
Архитектура и границы ответственности
Разделение транспортного, прикладного и инфраструктурного слоёв помогает анализировать изменения, тестировать протоколы и контролировать доступ.
RUSTCLOAK · LOGICAL ARCHITECTUREКонцептуальная модель
01КлиентыТочки интеграции
Веб-приложенияМобильные приложенияСервисы / API
↓ OIDC / OAuth 2.0 / HTTPS
02Public APIВнешние сценарии
Auth / SessionsOIDC endpointsWebAuthn
03ДоменБизнес-правила
auth-coreauth-rbacauth-protocolsauth-events
04УправлениеОтдельный контур доступа
auth-adminGraphQL APIAdmin UI
↓ Persistence / SQL
05ХранениеПостоянные данные
PostgreSQLauth-storage / SQLxКонфигурация
Схема показывает логические зависимости, а не все сетевые соединения, поток событий или утверждённую deployment-топологию.
RUST WORKSPACE
Модули проекта
По именам workspace удобно найти границы ответственности в исходном коде.
rustcloak-serverТочка запуска сервераauth-apiПубличные HTTP-обработчикиauth-coreДоменная логикаauth-protocolsПротокольный слойauth-rbacРоли, группы и scopesauth-storagePostgreSQL и SQLxauth-adminАдминистративный GraphQLauth-eventsСобытия и аудитauth-cryptoКриптографические функцииauth-pluginsСлой расширенийauth-emailПочтовые сценарииПРИНЦИПЫ
Что важно проверять при развитии
Realm isolation
Идентификаторы арендатора должны проверяться при чтении и изменении данных, а не только на UI.
Protocol correctness
Полная проверка параметров клиента, redirect URI, state, nonce, PKCE и токенов.
Cache invalidation
Изменение ролей и групп должно приводить к своевременному обновлению вычисленных полномочий.