marcelweidum / filament-passkeys
Use passkeys in your filamentphp app
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^5.0
- laravel/passkeys: ^0.1.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- spatie/laravel-ray: ^1.26
- 4.x-dev
- v4.0.0
- 3.x-dev
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- 2.x-dev
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.x-dev
- v1.0.1
- v1.0.0
- v1.0.0-beta.4
- v1.0.0-beta.3
- v1.0.0-beta.2
- v1.0.0-beta.1
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- dev-native-laravel
- dev-24-bug-auth-user-in-passkeyscomponent-breaks-when-filament-uses-a-custom-guard-fix
- dev-24-bug-auth-user-in-passkeyscomponent-breaks-when-filament-uses-a-custom-guard
This package is auto-updated.
Last update: 2026-05-28 18:08:29 UTC
README
Use passkeys in your filament app.
The current 4.x version uses Laravel's native passkeys package.
Version compatibility
| Package version | Filament version | Passkeys backend | Use this when |
|---|---|---|---|
4.x |
Filament v5 | Laravel native passkeys (laravel/passkeys) |
Starting a new Filament v5 app or upgrading to Laravel native passkeys |
3.x |
Filament v5 | Spatie passkeys (spatie/laravel-passkeys) |
Staying on the older Spatie-backed implementation |
2.x |
Filament v3 or v4 | Spatie passkeys (spatie/laravel-passkeys) |
Using Filament v3 or v4 |
Installation
- Install the package via composer:
composer require marcelweidum/filament-passkeys
- Add Laravel's passkey interface and trait to your user model
namespace App\Models; use Laravel\Passkeys\Contracts\PasskeyUser; use Laravel\Passkeys\PasskeyAuthenticatable; // ... class User extends Authenticatable implements PasskeyUser { use HasFactory, Notifiable, PasskeyAuthenticatable; // ... }
- Publish and run the migrations
php artisan vendor:publish --tag="passkeys-migrations"
php artisan migrate
Laravel registers the passkey routes automatically. You can optionally publish Laravel's passkeys config:
php artisan vendor:publish --tag="passkeys-config"
- Add passkeys plugin to your Filament Panel
Add passkeys to a panel by adding the class to your Filament Panel's plugin() or plugins([]) method.
use MarcelWeidum\Passkeys\PasskeysPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ PasskeysPlugin::make(), ]) }
Don't forget to add ->profile() to you panel as well to manage your passkeys.
Upgrading from the Spatie passkeys package
This package no longer uses spatie/laravel-passkeys. If you are upgrading an existing 3.x application to the native Laravel passkeys version, follow the 3.x to native Laravel upgrade guide.
For existing Spatie-backed applications, do not run Laravel's fresh create_passkeys_table migration against the existing table. The upgrade guide uses this package's conversion migration instead.
(Optional) If you want to customize the translations, you can publish the translations by running:
php artisan vendor:publish --tag="filament-passkeys-translations"
Common problems
If you're having problems creating passkeys on your profile page, check if your APP_URL in the .env file is set to the correct url of the application.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.