pub struct AuthContext<S: AuthSchema> {
pub config: Arc<AuthConfig>,
pub database: Arc<dyn AuthStore<S>>,
pub email_provider: Option<Arc<dyn EmailProvider>>,
pub metadata: HashMap<String, Value>,
}Expand description
Context passed to plugin methods.
Fields§
§config: Arc<AuthConfig>§database: Arc<dyn AuthStore<S>>§email_provider: Option<Arc<dyn EmailProvider>>§metadata: HashMap<String, Value>Implementations§
Source§impl<S: AuthSchema> AuthContext<S>
impl<S: AuthSchema> AuthContext<S>
pub fn new(config: Arc<AuthConfig>, database: Arc<dyn AuthStore<S>>) -> Self
pub fn with_metadata( config: Arc<AuthConfig>, database: Arc<dyn AuthStore<S>>, metadata: HashMap<String, Value>, ) -> Self
pub fn set_metadata(&mut self, key: impl Into<String>, value: Value)
pub fn get_metadata(&self, key: &str) -> Option<&Value>
Sourcepub fn email_provider(&self) -> AuthResult<&dyn EmailProvider>
pub fn email_provider(&self) -> AuthResult<&dyn EmailProvider>
Get the email provider, returning an error if none is configured.
Sourcepub fn session_manager(&self) -> SessionManager<S>
pub fn session_manager(&self) -> SessionManager<S>
Create a SessionManager from this context’s config and database.
Sourcepub async fn require_session(
&self,
req: &AuthRequest,
) -> AuthResult<(S::User, S::Session)>
pub async fn require_session( &self, req: &AuthRequest, ) -> AuthResult<(S::User, S::Session)>
Extract a session token from the request, validate the session, and
return the authenticated (User, Session) pair.
This centralises the pattern previously duplicated across many plugins
(get_authenticated_user, require_session, etc.).
Auto Trait Implementations§
impl<S> !RefUnwindSafe for AuthContext<S>
impl<S> !UnwindSafe for AuthContext<S>
impl<S> Freeze for AuthContext<S>
impl<S> Send for AuthContext<S>
impl<S> Sync for AuthContext<S>
impl<S> Unpin for AuthContext<S>
impl<S> UnsafeUnpin for AuthContext<S>
Blanket Implementations§
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