Expand description
SCIM 2.0 server library for Rust.
Provides type-safe, async-first SCIM protocol implementation with multi-tenant support and pluggable storage backends.
§Core Components
ScimServer
- Main server for handling SCIM operationsResourceProvider
- Trait for implementing storage backendsSchemaDiscovery
- Schema introspection and service configuration
§Quick Start
use scim_server::{ScimServer, providers::StandardResourceProvider};
use scim_server::storage::InMemoryStorage;
let storage = InMemoryStorage::new();
let provider = StandardResourceProvider::new(storage);
let server = ScimServer::new(provider)?;
For detailed usage, see the SCIM Server Guide.
Re-exports§
pub use error::ScimError;
pub use error::ScimResult;
pub use resource::IsolationLevel;
pub use resource::ResourceProvider;
pub use resource::TenantPermissions;
pub use resource::ListQuery;
pub use resource::RequestContext;
pub use resource::Resource;
pub use resource::ScimOperation;
pub use resource::TenantContext;
pub use schema::Schema;
pub use schema::SchemaRegistry;
pub use schema_discovery::SchemaDiscovery;
pub use scim_server::ScimServer;
pub use operation_handler::OperationMetadata;
pub use operation_handler::ScimOperationHandler;
pub use operation_handler::ScimOperationRequest;
pub use operation_handler::ScimOperationResponse;
pub use provider_capabilities::AuthenticationCapabilities;
pub use provider_capabilities::BulkCapabilities;
pub use provider_capabilities::CapabilityIntrospectable;
pub use provider_capabilities::ExtendedCapabilities;
pub use provider_capabilities::FilterOperator;
pub use provider_capabilities::PaginationCapabilities;
pub use provider_capabilities::ProviderCapabilities;
pub use resource_handlers::create_group_resource_handler;
pub use resource_handlers::create_user_resource_handler;
pub use schema_discovery::AuthenticationScheme;
pub use multi_tenant::ScimTenantConfiguration;
pub use multi_tenant::StaticTenantResolver;
pub use multi_tenant::TenantResolver;
pub use mcp_integration::McpServerInfo;
pub use mcp_integration::ScimMcpServer;
pub use mcp_integration::ScimToolResult;
Modules§
- auth
- Compile-time authentication system with type-level proofs.
- error
- Error types for SCIM server operations.
- mcp_
integration - Model Context Protocol integration for AI agents.
- multi_
tenant - Multi-tenant SCIM server capabilities.
- operation_
handler - Framework-agnostic SCIM operation handler.
- provider_
capabilities - Automated Provider Capability Discovery System
- providers
- Standard resource provider implementations.
- resource
- Resource model and provider trait for SCIM resources.
- resource_
handlers - Resource handler implementations using the dynamic schema approach.
- schema
- Schema definitions and validation for SCIM resources.
- schema_
discovery - Schema discovery implementation with state machine design.
- scim_
server - Dynamic SCIM server implementation with runtime resource type registration.
- storage
- Storage abstraction layer for SCIM resources.
Macros§
- impl_
value_ object - Helper macro for implementing ValueObject trait for existing value objects