pub struct MagicLinkToken {
pub token: String,
pub identifier: String,
pub created_at: DateTime<Utc>,
pub expires_at: DateTime<Utc>,
pub used: bool,
}Expand description
Magic Link Token
Time-limited token for passwordless authentication via email.
Fields§
§token: StringThe token string
identifier: StringUser identifier (email, user ID, etc.)
created_at: DateTime<Utc>Creation timestamp
expires_at: DateTime<Utc>Expiration timestamp
used: boolWhether token has been used
Implementations§
Source§impl MagicLinkToken
impl MagicLinkToken
Sourcepub fn generate(
identifier: impl Into<String>,
ttl: Duration,
) -> Result<Self, PasswordlessError>
pub fn generate( identifier: impl Into<String>, ttl: Duration, ) -> Result<Self, PasswordlessError>
Generate a new magic link token
§Examples
use armature_auth::passwordless::*;
let token = MagicLinkToken::generate(
"user@example.com",
std::time::Duration::from_secs(3600) // 1 hour
)?;
println!("Token: {}", token.token);Sourcepub fn verify(&self) -> Result<bool, PasswordlessError>
pub fn verify(&self) -> Result<bool, PasswordlessError>
Verify the token is valid
Checks:
- Not expired
- Not already used
Trait Implementations§
Source§impl Clone for MagicLinkToken
impl Clone for MagicLinkToken
Source§fn clone(&self) -> MagicLinkToken
fn clone(&self) -> MagicLinkToken
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MagicLinkToken
impl Debug for MagicLinkToken
Source§impl<'de> Deserialize<'de> for MagicLinkToken
impl<'de> Deserialize<'de> for MagicLinkToken
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MagicLinkToken
impl RefUnwindSafe for MagicLinkToken
impl Send for MagicLinkToken
impl Sync for MagicLinkToken
impl Unpin for MagicLinkToken
impl UnwindSafe for MagicLinkToken
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Injectable for T
impl<T> Injectable for T
Source§fn type_id_of() -> TypeIdwhere
Self: Sized,
fn type_id_of() -> TypeIdwhere
Self: Sized,
Returns the TypeId of this type (for internal use)
Source§fn type_name_of() -> &'static strwhere
Self: Sized,
fn type_name_of() -> &'static strwhere
Self: Sized,
Returns the type name for debugging