pub struct PasskeyService<U: UserRepository, P: PasskeyRepository> { /* private fields */ }Expand description
Service for passkey/WebAuthn authentication operations
Implementations§
Source§impl<U: UserRepository, P: PasskeyRepository> PasskeyService<U, P>
impl<U: UserRepository, P: PasskeyRepository> PasskeyService<U, P>
Sourcepub fn new(user_repository: Arc<U>, passkey_repository: Arc<P>) -> Self
pub fn new(user_repository: Arc<U>, passkey_repository: Arc<P>) -> Self
Create a new PasskeyService with the given repositories
Sourcepub async fn register_credential(
&self,
user_id: &UserId,
credential_id: Vec<u8>,
public_key: Vec<u8>,
name: Option<String>,
) -> Result<PasskeyCredential, Error>
pub async fn register_credential( &self, user_id: &UserId, credential_id: Vec<u8>, public_key: Vec<u8>, name: Option<String>, ) -> Result<PasskeyCredential, Error>
Register a new passkey credential for a user
Sourcepub async fn get_user_credentials(
&self,
user_id: &UserId,
) -> Result<Vec<PasskeyCredential>, Error>
pub async fn get_user_credentials( &self, user_id: &UserId, ) -> Result<Vec<PasskeyCredential>, Error>
Get all passkey credentials for a user
Sourcepub async fn get_credential(
&self,
credential_id: &[u8],
) -> Result<Option<PasskeyCredential>, Error>
pub async fn get_credential( &self, credential_id: &[u8], ) -> Result<Option<PasskeyCredential>, Error>
Get a specific passkey credential
Sourcepub async fn authenticate_credential(
&self,
credential_id: &[u8],
) -> Result<Option<User>, Error>
pub async fn authenticate_credential( &self, credential_id: &[u8], ) -> Result<Option<User>, Error>
Authenticate with a passkey credential
Auto Trait Implementations§
impl<U, P> Freeze for PasskeyService<U, P>
impl<U, P> RefUnwindSafe for PasskeyService<U, P>where
P: RefUnwindSafe,
U: RefUnwindSafe,
impl<U, P> Send for PasskeyService<U, P>
impl<U, P> Sync for PasskeyService<U, P>
impl<U, P> Unpin for PasskeyService<U, P>
impl<U, P> UnwindSafe for PasskeyService<U, P>where
P: RefUnwindSafe,
U: RefUnwindSafe,
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