pub struct SessionManagementPlugin { /* private fields */ }Expand description
Session management plugin for handling session operations
Implementations§
Source§impl SessionManagementPlugin
impl SessionManagementPlugin
pub fn new() -> Self
pub fn with_config(config: SessionManagementConfig) -> Self
pub fn enable_session_listing(self, val: bool) -> Self
pub fn enable_session_revocation(self, val: bool) -> Self
pub fn require_authentication(self, val: bool) -> Self
Trait Implementations§
Source§impl<S: AuthSchema> AuthPlugin<S> for SessionManagementPlugin
impl<S: AuthSchema> AuthPlugin<S> for SessionManagementPlugin
Source§fn telemetry_plugin_id(&self) -> Option<&'static str>
fn telemetry_plugin_id(&self) -> Option<&'static str>
Return the upstream plugin ID; core option wrappers have no plugin ID.
Source§fn on_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 AuthRequest,
ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AuthResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 AuthRequest,
ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AuthResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called for each request - return Some(response) to handle, None to pass through
Source§fn openapi(&self) -> Result<OpenApiPluginMetadata, AuthError>
fn openapi(&self) -> Result<OpenApiPluginMetadata, AuthError>
Document this configured plugin without invoking application field policies.
Source§fn password_hasher(&self) -> Option<Arc<dyn PasswordHasher>>
fn password_hasher(&self) -> Option<Arc<dyn PasswordHasher>>
Select the base password hasher before plugin initialization wraps it.
Source§fn telemetry(&self, _options: &mut PluginTelemetry)
fn telemetry(&self, _options: &mut PluginTelemetry)
Report configured options without invoking callbacks or initializing the plugin.
Source§fn rate_limits(&self) -> Result<Vec<PluginRateLimit>, AuthError>
fn rate_limits(&self) -> Result<Vec<PluginRateLimit>, AuthError>
Default endpoint limits, overridden by explicit application limits.
Source§fn on_init<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut AuthInitContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn on_init<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut AuthInitContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called when the plugin is initialized
Source§fn on_http_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn on_http_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Inspect an HTTP request after rate limiting and before endpoint middleware.
Native API calls do not run this hook. A response skips endpoint hooks.
Source§fn on_http_response<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn on_http_response<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Inspect the HTTP router response, including route misses and body errors.
Early HTTP request responses and native endpoint calls skip this hook.
A replacement response stops the remaining HTTP response hooks.
Source§fn before_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<BeforeRequestAction>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn before_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<BeforeRequestAction>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called for a registered endpoint after HTTP body decoding and origin checks. Read more
Source§fn after_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn after_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Inspect or extend the final route response after session cookies are applied.
Auto Trait Implementations§
impl Freeze for SessionManagementPlugin
impl RefUnwindSafe for SessionManagementPlugin
impl Send for SessionManagementPlugin
impl Sync for SessionManagementPlugin
impl Unpin for SessionManagementPlugin
impl UnsafeUnpin for SessionManagementPlugin
impl UnwindSafe for SessionManagementPlugin
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more