Documentation Index
Fetch the complete documentation index at: https://docs.steward.fi/llms.txt
Use this file to discover all available pages before exploring further.
Email Magic Link
Email authentication sends a one-time sign-in link to the user’s email address. Clicking the link completes authentication without a password.How It Works
SDK Usage
Step 1: Send the Magic Link
Step 2: Handle the Callback
On your callback page (e.g./auth/callback), read the URL params and verify:
React Usage
Login Component
Callback Component
Mount<StewardEmailCallback> on your callback route to handle token verification automatically:
token and email from the URL search params, calls verifyEmailCallback, and shows loading/success/error states.
Server Configuration
To enable email auth on a self-hosted instance:Steward uses Resend for email delivery. Create a free account at resend.com and verify your sending domain. The free tier supports 100 emails/day.
Callback URL
The magic link directs users to:/auth/callback that handles this. If you need a different path, configure EMAIL_CALLBACK_PATH in your environment.
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/auth/email/send | POST | Send a magic link. Body: { email, tenantId? } |
/auth/email/verify | POST | Verify a magic link token. Body: { token, email, tenantId? } |
Security
- Magic link tokens expire after 15 minutes
- Each token is single-use and invalidated after verification
- Tokens are cryptographically random (32 bytes)
- Rate limiting: 5 emails per address per 15 minutes
Related
- Auth Overview — Session management and token lifecycle
- Passkeys — Alternative passwordless method
- React Components —
<StewardLogin>and<StewardEmailCallback>