ТЕХНИЧЕСКИЙ ОБЗОР

Архитектура и границы ответственности

Разделение транспортного, прикладного и инфраструктурного слоёв помогает анализировать изменения, тестировать протоколы и контролировать доступ.

RustCloak / Технические материалы · Сверяйте примеры с используемой версией проекта.
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Роли, группы и scopes
auth-storagePostgreSQL и SQLx
auth-adminАдминистративный GraphQL
auth-eventsСобытия и аудит
auth-cryptoКриптографические функции
auth-pluginsСлой расширений
auth-emailПочтовые сценарии
ПРИНЦИПЫ

Что важно проверять при развитии

Realm isolation

Идентификаторы арендатора должны проверяться при чтении и изменении данных, а не только на UI.

Protocol correctness

Полная проверка параметров клиента, redirect URI, state, nonce, PKCE и токенов.

Cache invalidation

Изменение ролей и групп должно приводить к своевременному обновлению вычисленных полномочий.