Expand description
Backbone Framework Auth
Authentication and authorization system with JWT, password hashing, and RBAC.
§Generic Design
This crate provides generic traits that modules can implement with their own domain entities. This follows the framework rule: “Backbone is a GENERIC library and must NEVER contain entity-specific code.”
§Core Traits
AuthenticatableUser- Trait for user entities that can be authenticatedPermissionLike- Trait for permission entitiesRoleLike- Trait for role entities with permissionsPermissionChecker- Trait for permission checking servicesUserRepository- Generic repository trait for user operations
§Default Implementations
For testing and simple use cases, default implementations are provided:
SimpleUser- Default user struct implementingAuthenticatableUserSimplePermission- Default permission struct implementingPermissionLikeSimpleRole- Default role struct implementingRoleLikeInMemoryPermissionService- In-memory RBAC service
§Backwards Compatibility
Type aliases are provided for backwards compatibility:
User=SimpleUserPermission=SimplePermissionRole=SimpleRolePermissionService=InMemoryPermissionService<SimpleRole>
Re-exports§
pub use audit::AuditEvent;pub use middleware::AuthMiddleware;pub use middleware::AuthExtractor;pub use middleware::AuthContext;pub use token_generator::TokenGenerator;pub use permissions::PermissionLike;pub use permissions::RoleLike;pub use permissions::PermissionChecker;pub use permissions::SimplePermission;pub use permissions::SimpleRole;pub use permissions::InMemoryPermissionService;pub use permissions::Permission;pub use permissions::Role;pub use permissions::PermissionService;pub use traits::AuthenticatableUser;pub use traits::SimpleUser;pub use traits::UserRepository;pub use traits::SecurityService;pub use traits::User;pub use traits::RefreshTokenClaims;pub use traits::DeviceInfo;pub use traits::SecurityFlags;pub use traits::SecurityAlertType;pub use traits::PasswordPolicy;pub use traits::TwoFactorMethod;pub use traits::TwoFactorChallenge;pub use traits::PasswordResetRequest;pub use traits::PasswordResetConfirmation;pub use traits::AuthRequest;pub use traits::AuthResultEnhanced;pub use traits::AuthContext as RequestAuthContext;pub use resource_policy::ResourceAction;pub use resource_policy::ResourcePolicy;pub use resource_policy::AccessDenied;pub use resource_policy::PermissionGuard;pub use resource_policy::ServicePermissionGuard;pub use resource_policy::AuthContextProvider;pub use resource_policy::PermitAllResourcePolicy;pub use resource_policy::DenyAllResourcePolicy;pub use resource_policy::RoleRequiredPolicy;pub use auth_service::*;pub use jwt::*;pub use password::*;
Modules§
- audit
- Structured audit event types for authentication security logging
- auth_
service - Authentication service implementation
- jwt
- JWT (JSON Web Token) handling with key rotation and multi-algorithm support
- middleware
- Authentication middleware
- password
- Password hashing and verification
- permissions
- Permission and role-based access control (RBAC)
- resource_
policy - Resource-level permission guards — bind auth context to entity-level access control.
- token_
generator - Consolidated token generation service
- traits
- Trait definitions for authentication system integration
Constants§
- VERSION
- Auth version