Crate scim_server

Crate scim_server 

Source
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

§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