pub struct ScimOptions {
pub provider_ownership: ProviderOwnershipOptions,
pub required_role: Option<Vec<String>>,
pub default_scim: Vec<DefaultScimProvider>,
pub token_storage: ScimTokenStorage,
pub before_token_generated: Option<BeforeScimTokenGeneratedHook>,
pub after_token_generated: Option<AfterScimTokenGeneratedHook>,
pub bulk_mode: ScimBulkMode,
pub deprovision_mode: ScimDeprovisionMode,
pub audit_event: Option<ScimAuditEventResolver>,
}Expand description
SCIM plugin options.
use rustauth_scim::{ScimOptions, ScimTokenStorage};
let options = ScimOptions::default();
assert!(matches!(options.token_storage, ScimTokenStorage::Hashed));Fields§
§provider_ownership: ProviderOwnershipOptionsWhether provider connections are tied to the user who generated them.
required_role: Option<Vec<String>>Organization roles allowed to manage org-scoped SCIM providers.
default_scim: Vec<DefaultScimProvider>Static SCIM providers checked before database-backed providers.
token_storage: ScimTokenStorageHow generated SCIM tokens are stored.
before_token_generated: Option<BeforeScimTokenGeneratedHook>Callback invoked after built-in authorization and before persistence.
after_token_generated: Option<AfterScimTokenGeneratedHook>Callback invoked after a provider has been persisted.
bulk_mode: ScimBulkModeBulk commit strategy (ScimBulkMode::Independent by default).
deprovision_mode: ScimDeprovisionModeUser delete semantics for SCIM deprovision.
audit_event: Option<ScimAuditEventResolver>Optional async audit sink (also logged through AuthContext::logger).
Implementations§
Source§impl ScimOptions
impl ScimOptions
Sourcepub fn provider_ownership(self, ownership: ProviderOwnershipOptions) -> Self
pub fn provider_ownership(self, ownership: ProviderOwnershipOptions) -> Self
Configure provider ownership rules.
Sourcepub fn required_role(self, roles: Vec<String>) -> Self
pub fn required_role(self, roles: Vec<String>) -> Self
Set organization roles allowed to manage org-scoped SCIM providers.
Sourcepub fn default_scim(self, providers: Vec<DefaultScimProvider>) -> Self
pub fn default_scim(self, providers: Vec<DefaultScimProvider>) -> Self
Add statically configured SCIM providers.
Sourcepub fn token_storage(self, storage: ScimTokenStorage) -> Self
pub fn token_storage(self, storage: ScimTokenStorage) -> Self
Set how generated SCIM tokens are stored.
Sourcepub fn before_token_generated(self, hook: BeforeScimTokenGeneratedHook) -> Self
pub fn before_token_generated(self, hook: BeforeScimTokenGeneratedHook) -> Self
Set the hook invoked before a SCIM token is persisted.
Sourcepub fn after_token_generated(self, hook: AfterScimTokenGeneratedHook) -> Self
pub fn after_token_generated(self, hook: AfterScimTokenGeneratedHook) -> Self
Set the hook invoked after a SCIM token is persisted.
Sourcepub fn bulk_mode(self, mode: ScimBulkMode) -> Self
pub fn bulk_mode(self, mode: ScimBulkMode) -> Self
Set bulk commit strategy.
Sourcepub fn deprovision_mode(self, mode: ScimDeprovisionMode) -> Self
pub fn deprovision_mode(self, mode: ScimDeprovisionMode) -> Self
Set user delete semantics for SCIM deprovision.
Sourcepub fn audit_event(self, resolver: ScimAuditEventResolver) -> Self
pub fn audit_event(self, resolver: ScimAuditEventResolver) -> Self
Set an async audit event sink.
Trait Implementations§
Source§impl Clone for ScimOptions
impl Clone for ScimOptions
Source§fn clone(&self) -> ScimOptions
fn clone(&self) -> ScimOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more