webteractive/filament-passport
Manage Laravel Passport OAuth clients, access tokens, and authorization codes from Filament, with built-in consent views for authorization and device flow so Passport works out of the box.
Architecture fit
OauthClient, OauthAccessToken, OauthAuthCode). It adds no tables, no parallel identity store, and no proprietary persistence. From a TPM standpoint that makes adoption reversible and low-blast-radius: removing the package removes a UI, not data or auth behavior.Integration feasibility
composer require, one ->plugins([FilamentPassportPlugin::make()]) line in the panel provider, optional config and view publishing. No package-owned migrations.php artisan install:api --passport). If Passport is not already in the architecture, this package is inert — it is not a reason to adopt Passport.viewFilamentPassport gate → canAccess() callback → open access by default. The default-open behavior is the single most important planning detail: it means "install it and it works" is also "install it and it is unprotected." That must be an explicit acceptance criterion, not an afterthought.Technical risk
laravel/framework, filament/filament, and laravel/passport are not in the README; policies, test coverage, and CI status are not documented.Key questions
composer.json, and do they permit our pinned Laravel/Filament/Passport versions?state, PKCE, and redirect-URI validation semantics exactly, and are outputs Blade-escaped?Stack fit
Migration path
views config so rollback is a config toggle, not a deploy.Compatibility
Sequencing
composer.json; composer require; boot a panel; confirm the three resources render. Cheap go/no-go.Maintenance
resources/views/vendor/, upstream fixes don't reach us. Keep the diff from stock small and logged.Support
Scaling
oauth_access_tokens and oauth_auth_codes tables in a panel — confirm pagination and query behavior against realistic volumes; (b) whether revocation is per-record only. If bulk revocation ("kill all tokens for this client now") isn't supported, incident response at scale degrades back to SQL, which erodes the package's main value proposition. Verify early.Failure modes
Ramp-up
How can I help you explore Laravel packages today?