pub struct InMemoryOtpStore { /* private fields */ }Expand description
Thread-safe in-memory OTP store.
Suitable for single-node deployments and testing. For distributed deployments use a Redis-backed store (not provided here).
Implementations§
Source§impl InMemoryOtpStore
impl InMemoryOtpStore
Sourcepub fn pending_count(&self) -> usize
pub fn pending_count(&self) -> usize
Return the number of pending OTP codes (useful for tests).
Trait Implementations§
Source§impl Default for InMemoryOtpStore
impl Default for InMemoryOtpStore
Source§impl OtpStore for InMemoryOtpStore
impl OtpStore for InMemoryOtpStore
Source§fn create_otp<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_otp<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate and store a new
OTP for the given email. Read moreSource§fn verify_otp<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
email: &'life1 str,
code: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn verify_otp<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
email: &'life1 str,
code: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Verify a code for the given email and consume it on success. Read more
Auto Trait Implementations§
impl Freeze for InMemoryOtpStore
impl !RefUnwindSafe for InMemoryOtpStore
impl Send for InMemoryOtpStore
impl Sync for InMemoryOtpStore
impl Unpin for InMemoryOtpStore
impl UnsafeUnpin for InMemoryOtpStore
impl UnwindSafe for InMemoryOtpStore
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more