Crate torii_auth_magic_link

Crate torii_auth_magic_link 

Source
Expand description

Magic Link authentication plugin for Torii

This plugin provides magic link authentication functionality, allowing users to sign in by clicking a secure link sent to their email address rather than using a password.

§Features

  • Generate secure one-time use magic links
  • Verify magic link tokens
  • Automatic user creation if not exists
  • Configurable token expiration

§Example

use torii_auth_magic_link::MagicLinkPlugin;
use torii_core::{DefaultUserManager, plugin::PluginManager};
use std::sync::Arc;


// Create user manager
let user_manager = Arc::new(DefaultUserManager::new(user_storage.clone()));

// Register the plugin with your PluginManager
let mut plugin_manager = PluginManager::new(user_storage.clone(), session_storage.clone());
plugin_manager.register_plugin(MagicLinkPlugin::new(user_manager, user_storage.clone()));

// Generate a magic link token
let plugin = plugin_manager.get_plugin::<MagicLinkPlugin<DefaultUserManager<_>, _>>("magic_link").unwrap();
let token = plugin.generate_magic_token("user@example.com").await?;

// Verify the token when user clicks the link
let user = plugin.verify_magic_token(&token.token).await?;

Structs§

MagicLinkPlugin
Magic Link authentication plugin

Enums§

MagicLinkError