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§
- Magic
Link Plugin - Magic Link authentication plugin