Realm
Логическая область идентификационных данных и настроек. Внутри realm существуют пользователи, группы, роли и клиенты. Наличие поля realm_id в БД само по себе не обеспечивает изоляцию — проверка границы должна проходить в каждом запросе.
Client
Приложение, которое доверяет RustCloak для выполнения согласованного протокольного сценария. У клиента есть идентификатор и параметры безопасности, включая разрешённые callback-адреса и тип аутентификации.
User и Group
Пользователь — субъект аутентификации. Группа позволяет объединять пользователей и связывать с ними роли. Иерархия групп усложняет вычисление эффективных полномочий, поэтому глубина вложенности должна быть ограничена.
Role и Composite role
Роль именует набор полномочий или принадлежность к роли. Составная роль включает другие роли и требует защиты от циклов и нежелательных пересечений.
Scope
Scope обозначает объём запрошенного доступа в OAuth 2.0; в модели RBAC проекта он также связывается с ролями. Не стоит автоматически приравнивать scope к разрешению на каждую бизнес-операцию.
Token и Session
Токен — переносимое утверждение для конкретной цели и аудитории. Сессия — состояние взаимодействия, связанное с аутентификацией. Отзыв сессии и истечение срока токена — разные процессы.
Passkeys / WebAuthn
WebAuthn позволяет использовать криптографические учётные данные вместо передачи секретного пароля приложению. Должны проверяться challenge, origin, RP ID и привязка credential к субъекту.
Сверьте примеры с используемой ревизией исходников и подготовьте отчёт.
Как сообщить об ошибке →