kristories/novassport
Nova Passport is a Laravel Nova tool for managing Laravel Passport OAuth clients and access tokens directly from your Nova dashboard. Create, edit, and revoke clients and tokens without leaving the admin panel, simplifying API authentication administration.
Verdict: do not adopt as a dependency. Fork/vendor it or replace it with ~200 lines of in-house Nova tooling. This is a thin presentation layer over Laravel Passport's data model, not a system with meaningful depth. That makes it cheap to replace and makes its abandonment a governance problem rather than an engineering one.
Architecture fit. The package only fits a narrow three-way intersection: the application runs Laravel, has adopted Laravel Nova (paid, per-site license), and uses Passport rather than Sanctum for API auth. Laravel's own guidance has moved new projects to Sanctum, and Passport is now positioned for genuine OAuth2-server requirements (third-party clients, authorization-code flows, scopes). A 66-star, single-purpose Nova tool for that intersection describes a small tail of the ecosystem, which is consistent with the low opportunity score. If any of the three legs is missing, this package has zero surface area for us.
Integration feasibility. Mechanically trivial: composer require kristories/novassport, register the tool in NovaServiceProvider::tools(), ensure migrations for oauth_clients / oauth_access_tokens exist, and grant Nova users access. Realistic effort is hours, not days. The blocker is not effort — it is that the last release is January 2022, which predates Laravel 10/11/12 and Nova 5. Expect the Composer constraint set to conflict with a current stack and require either a --with-dependencies fight or a fork. Treat "install it and run the test suite" as a research spike, not a plan.
Technical risk.
Key questions to resolve.
Stack fit. Only proceed if the answer to Q1 is "Passport, yes" and Q2 is "Nova, yes." Otherwise stop — the correct integration is no integration. If we do proceed, scope it as an internal operator console feature, not a customer-facing capability, and gate it behind an explicit Nova gate and role.
Migration path. There is no meaningful migration from anything; this is greenfield UI over existing Passport tables. Two viable paths:
oauth_clients / oauth_access_tokens is a small, well-understood amount of code. We control the secret-display semantics, the audit trail, and the upgrade path. Given the package's size, this is likely cheaper over a two-year horizon than the fork.Avoid the third path — consuming the public package as-is on a current stack — because it leaves us with an unmaintained dependency on a credential-handling surface and no upgrade story.
Compatibility. Establish a version matrix before committing: Laravel major, Nova major, Passport major, PHP version. Assume the published constraints are stale and that we will be widening them ourselves. Test specifically against hashed-secret Passport behaviour and against Nova's current tool-registration API.
Sequencing.
Maintenance. The dominant cost. The package has no upstream maintainer cadence, so we become the maintainer the moment we adopt it. Budget a recurring line item for keeping the fork aligned with each Laravel/Nova/Passport major — realistically small in hours, but it must be scheduled, not discovered during an upgrade fire. Without a named owner, this rots and becomes a blocker at the next framework bump.
Support. No vendor, no community of scale, no security advisories. Internal tickets route to whoever owns the fork. Document the fork's divergence from upstream in the README so a future engineer doesn't try to "just upgrade to the latest release."
Scaling. Operationally negligible. This is an admin-panel read/write over a handful of tables; request volume is bounded by operator headcount, not API traffic. The risk is not load, it is inventory scale — an org with thousands of tokens needs pagination, filtering, and search that a 66-star tool likely does not provide. Check this before assuming it scales with tenant count.
Failure modes.
oauth_access_tokens without a clear cleanup story; verify whether the tool handles cascade or leaves us with a manual sweep.Ramp-up. Low for any engineer already fluent in Laravel and Nova — an afternoon to read the source and understand the Passport schema. The real ramp-up is domain knowledge: OAuth2 client/grant/scope semantics and the security implications of the admin surface. Do not let "it's just a CRUD panel" justify skipping the security review; the panel's contents are credentials.
Bottom line. Low technical complexity, high governance cost, and a security-sensitive surface with no upstream. Adopt only behind a fork we own, or replace it with in-house tooling. Either way, this is a small, bounded piece of work — the mistake would be treating the public package as a zero-cost dependency.
How can I help you explore Laravel packages today?