pub struct PasskeyService { /* private fields */ }Expand description
Passkey factor. Bridges the app’s WebAuthnBackend into MfaVerifier so
a passkey can satisfy an MFA challenge (method = "passkey"). For assertion,
the code passed to MfaVerifier::verify is the JSON assertion response
(as a string).
Implementations§
Source§impl PasskeyService
impl PasskeyService
pub fn new( backend: Arc<dyn WebAuthnBackend>, store: Arc<dyn PasskeyStore>, ) -> Self
pub async fn start_registration(&self, user_id: &str) -> Result<Value>
pub async fn finish_registration( &self, user_id: &str, response: Value, ) -> Result<()>
pub async fn start_assertion(&self, user_id: &str) -> Result<Value>
pub async fn list(&self, user_id: &str) -> Result<Vec<PasskeyCredential>>
pub async fn remove(&self, user_id: &str, credential_id: &str) -> Result<()>
Trait Implementations§
Source§impl MfaVerifier for PasskeyService
impl MfaVerifier for PasskeyService
Source§fn verify<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
method: &'life2 str,
code: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn verify<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
method: &'life2 str,
code: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Verify a factor response.
method is "totp", "recovery", "passkey",
etc. Returns Ok(true) on success, Ok(false) on a wrong-but-well-formed
code, and Err only on backend failure.Auto Trait Implementations§
impl !RefUnwindSafe for PasskeyService
impl !UnwindSafe for PasskeyService
impl Freeze for PasskeyService
impl Send for PasskeyService
impl Sync for PasskeyService
impl Unpin for PasskeyService
impl UnsafeUnpin for PasskeyService
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request