Illuminate\Auth\Authenticatable). Custom auth systems (e.g., API tokens) may need adapters.users table (e.g., two_factor_secret, recovery_codes). Pre-existing schemas may need adjustments.passkeys table; ensure DB supports JSON fields (PostgreSQL/MySQL 5.7+).paragonie/sodium_compat (auto-installed via Laravel).webauthn/webauthn (PHP WebAuthn library). May need PHP 8.1+ for full features.artisan vendor:publish to customize views/config.composer.json constraints or fork.jsonb, MySQL: JSON).Schema::table('users', function (Blueprint $table) {
$table->string('two_factor_secret')->nullable();
$table->json('passkeys')->nullable();
$table->json('recovery_codes')->nullable();
});
| Step | Task | Dependencies | Risk |
|---|---|---|---|
| 1 | Install package | Laravel 12+ | Low |
| 2 | Publish config/views | - | Low |
| 3 | Run migrations | DB access | Medium |
| 4 | Configure TOTP | paragonie/sodium_compat |
Low |
| 5 | Test TOTP flow | Auth middleware | Medium |
| 6 | Add Passkeys | WebAuthn library, JSON DB | High |
| 7 | Implement recovery codes | Secure storage | Medium |
| 8 | Roll out to users | Monitoring | High |
webauthn/webauthn may require PHP upgrades (e.g., PHP 8.2+ for latest features).rp (relying party) ID.NTP sync.webauthn library). Benchmark under load.Cache::remember).webauthn library handles concurrent authentications (e.g.,How can I help you explore Laravel packages today?