Overview
Applad’s authentication system supports multiple providers (email, OAuth, SAML), multi-factor authentication, and three multi-tenancy models — all configured inauth/auth.yaml.
Basic Configuration
auth/auth.yaml
Authentication Providers
Email Authentication
auth/auth.yaml
OAuth Providers
Supported OAuth providers: Google, GitHub, Microsoft, Apple, Facebook, Twitter.auth/auth.yaml
Create OAuth application
Register your application with the OAuth provider:
- Google: Google Cloud Console
- GitHub: GitHub Developer Settings
SAML Authentication
For enterprise SSO with Okta, Auth0, Azure AD, etc.auth/auth.yaml
Phone Authentication
auth/auth.yaml
Multi-Factor Authentication
auth/auth.yaml
MFA Methods
- TOTP — Time-based one-time passwords (Google Authenticator, Authy)
- WebAuthn — Hardware security keys (YubiKey, Touch ID, Face ID)
- Backup Codes — Single-use recovery codes
Multi-Tenancy
Applad supports three multi-tenancy models. Choose one per project:Row-Level Isolation
Shared database, shared schema. Atenant_field column is added to every table, with row-level filters enforcing isolation.
auth/auth.yaml
Schema-Level Isolation
Shared database, separate schemas. Each tenant gets their own Postgres schema. Tables are identical in structure but physically isolated.auth/auth.yaml
Database-Level Isolation
Separate database per tenant. Each tenant gets their own connection. Maximum isolation.auth/auth.yaml
Session Management
auth/auth.yaml
Managing Users
List users
View user details
Delete a user
Ban a user
Purge user data (GDPR/CCPA)
Export user data (GDPR/CCPA)
Session Management
List active sessions
Revoke a session
Revoke all sessions for a user
Security Features
Brute Force Protection
auth/auth.yaml
Password Requirements
auth/auth.yaml
Environment Variables
Auth configuration requires these environment variables:.env
Testing Auth Providers
Check that auth providers are configured correctly:Example: Complete Auth Configuration
auth/auth.yaml
Next Steps
Storage
Configure file storage with buckets and permissions
Functions
Create serverless functions for backend logic