pub struct IdentityProvider { /* private fields */ }Expand description
Identity provider for managing users and sessions.
Implementations§
Source§impl IdentityProvider
impl IdentityProvider
Sourcepub fn register(
&mut self,
user_id: &str,
password: &str,
display_name: Option<&str>,
attributes: HashMap<String, String>,
) -> Result<Identity>
pub fn register( &mut self, user_id: &str, password: &str, display_name: Option<&str>, attributes: HashMap<String, String>, ) -> Result<Identity>
Register a new user.
Sourcepub fn authenticate(
&self,
user_id: &str,
password: &str,
permissions: &[String],
ttl: Option<u64>,
) -> Option<String>
pub fn authenticate( &self, user_id: &str, password: &str, permissions: &[String], ttl: Option<u64>, ) -> Option<String>
Authenticate user and return session token.
Runs PBKDF2 even for non-existent users to prevent timing-based user enumeration (CWE-203).
Sourcepub fn validate_token(&self, token: &str) -> Option<Session>
pub fn validate_token(&self, token: &str) -> Option<Session>
Validate session token.
Sourcepub fn create_service_token(
&self,
session_token: &str,
service: &str,
permissions: &[String],
ttl: u64,
) -> Option<String>
pub fn create_service_token( &self, session_token: &str, service: &str, permissions: &[String], ttl: u64, ) -> Option<String>
Create service-specific token.
Sourcepub fn validate_service_token(
&self,
token: &str,
service: &str,
) -> Option<Session>
pub fn validate_service_token( &self, token: &str, service: &str, ) -> Option<Session>
Validate service token.
Sourcepub fn refresh_token(&self, token: &str) -> Option<String>
pub fn refresh_token(&self, token: &str) -> Option<String>
Refresh session token.
Sourcepub fn get_identity(&self, user_id: &str) -> Option<&Identity>
pub fn get_identity(&self, user_id: &str) -> Option<&Identity>
Get user identity.
Sourcepub fn revoke_user(&mut self, user_id: &str)
pub fn revoke_user(&mut self, user_id: &str)
Revoke user.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IdentityProvider
impl RefUnwindSafe for IdentityProvider
impl Send for IdentityProvider
impl Sync for IdentityProvider
impl Unpin for IdentityProvider
impl UnsafeUnpin for IdentityProvider
impl UnwindSafe for IdentityProvider
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