Authentication
Steward provides a complete authentication system for apps built on the platform. Users authenticate once and get a wallet, session, and identity that works across multiple Steward-powered apps.Auth Methods
Passkeys (WebAuthn)
Phishing-resistant, passwordless login using biometrics or hardware keys.
Email Magic Link
One-click sign-in via a link sent to the user’s email.
OAuth Providers
Google, Discord, and Twitter/X via PKCE popup flow.
SIWE
Sign-In With Ethereum for users who already have a wallet.
How It Works
The auth flow follows a standard pattern regardless of the sign-in method:- The user initiates sign-in (passkey, email, OAuth, or SIWE)
- Steward verifies the credential and creates or retrieves the user
- Steward returns a JWT access token (15 min) and a refresh token (30 days)
- Your app uses the access token for API calls via
StewardClient
Session Management
Steward uses a two-token session model:
The SDK handles token refresh automatically. When the access token is within 2 minutes of expiry,
auth.getToken() triggers a background refresh.
Provider Discovery
Your app can query the server to discover which auth methods are enabled:<StewardLogin> React component does this automatically and only shows buttons for enabled methods.
Cross-Tenant Identity
Steward supports multi-tenant authentication. A single user identity (email, wallet) can belong to multiple apps (tenants). Each tenant is an isolated environment with its own agents, policies, and configuration. See Cross-Tenant Identity for details on tenant management, join modes, and switching between apps.SDK vs React
- SDK (any JS runtime)
- React
API Keys, Agent Tokens, and Platform Keys
Steward uses separate credentials for different audiences:
Production deployments should set a JWT secret separate from
STEWARD_MASTER_PASSWORD. The current code is being unified around JWT env naming; check the deployment guide before configuring production secrets.
Related
- Passkeys — WebAuthn setup and usage
- Email — Magic link configuration
- OAuth — Google, Discord, Twitter/X setup
- Cross-Tenant Identity — Multi-app user management
- React Components — Drop-in UI components