Passwordless authentication shouldn't require a database overhaul. Laravel Frontdoor lets users log in with just their email address and a one-time code — no passwords to hash, no users table to migrate, no OAuth providers to configure.
The package was built around a simple idea: many applications already have their user data somewhere else — a CRM, an external API, a legacy system. Frontdoor bridges that gap with a driver-based account system. Implement a single interface to look up users from any source, and you get a complete authentication flow out of the box.
How It Works
A user enters their email. Frontdoor generates a 6-digit HMAC-hashed code, stores it in the cache with a TTL, and sends it via a customizable Mailable. The user enters the code, Frontdoor verifies it, and creates a session-based identity. No database writes at any point.
What's Included
Three-step Livewire component — email entry, OTP verification, and optional registration in a single interactive flow
Blade fallback routes — full controller-based flow for apps without Livewire
Registration system — drivers can define custom form fields; Frontdoor validates and creates accounts automatically
Drop-in UI components — avatar with generated gradients, nav login button with user dropdown, modal overlay
Extensible driver architecture — ships with a cache-backed testing driver; bring your own by implementing AccountDriver or CreatableAccountDriver
Rate limiting — built-in protection against brute force on both OTP requests and verification attempts
Event system — hooks for OtpRequested, OtpVerified, LoginSucceeded, LoginFailed, LogoutSucceeded, and AccountRegistered