import { ArrowRight, Fingerprint, Smartphone, Sparkles } from "lucide-react"; const flows = [ { title: "Admin login", description: "Enforce short TTL and step-up MFA. Keep admin session separate from app session.", pill: "15m TTL", }, { title: "Tenant pick", description: "Admin chooses target tenant before hitting APIs. Propagate X-Tenant-ID on every call.", pill: "Header-ready", }, { title: "Device approval", description: "If app session exists and user opts in, use push/deeplink approval as MFA replacement.", pill: "App session", }, ]; function AuthPage() { return (
Admin auth
Build the admin-only login flow first, keeping app login separate. Respect the “fallback only when user chooses” rule for SMS/email vs app approval.
{flow.description}
If the admin keeps the mobile app signed in and opts in, use push/deeplink approval instead of OTP. Otherwise fall back to SMS/email based on user choice.
Default admin TTL is 15 minutes. Show countdown and nudge re-auth with step-up MFA when critical actions (rotate secret, export logs) happen.