toddish/verify
Toddish/Verify is a Laravel authentication and role-based authorization package. It adds user roles and permissions so you can control access across your app with a simple, configurable API—a lightweight choice for ACL-style checks in Laravel projects.
Architecture fit. toddish/verify is an opinionated Laravel auth add-on that layers email-verification onto the framework's native Auth guard and Eloquent User model. It assumes a conventional Laravel app structure (controller-based auth, Blade-style views, Laravel's Mail facade, a single users table). It is a good conceptual fit for a small Laravel 3/4 application whose only account-lifecycle requirement is "confirm the email before login." It is a poor fit for anything requiring token-based auth, API-first design, stateless sessions, multi-tenant user stores, or a non-Eloquent identity provider — the package does not abstract the storage or mail layers, so those use cases require re-plumbing the package itself.
Integration feasibility. Historically low-effort: add the dependency, register the service provider/bundle, add the package's trait and verification fields to the User model, run the migration, publish/modify the verification views and mail templates, and adjust the auth config. The work is mostly wiring and view customization, not architecture. The real cost today is not integration but reproducing a working environment — the package predates Laravel 5 and modern Composer/PSR-4 conventions, so it will not drop into a current Laravel app through a normal composer require.
Technical risk. High, concentrated in three areas: (1) Lifecycle risk — an abandoned package with no security-maintenance path; verification flows are authentication-adjacent and any future CVE or framework change is unpatched. (2) Framework drift — tight coupling to an old Auth implementation and old mail APIs means the code is effectively non-upgradable without a fork. (3) Correctness — verification-code generation, expiry, re-send throttling, and "verified" state transitions are security-sensitive; these need independent review rather than assumed working. The MIT license is favorable and removes legal risk, but does not address any of the above.
Key questions.
Stack fit. Compatible only with legacy Laravel projects (Laravel 3/4-era conventions, PHP 5.x). On a modern Laravel stack the correct answer is not this package: Laravel has shipped first-party email verification since 5.7 (MustVerifyEmail contract + verified middleware), and Breeze/Fortify/Jetstream provide the full flow out of the box. Treat toddish/verify as a candidate only when the target application is already pinned to a matching legacy framework version and the goal is to avoid touching the auth core.
Migration path. Two viable routes:
User, wire the verification views and mail templates, and gate login on the verified flag. Low code churn, high long-term debt.Compatibility. Expect friction with Composer 2, PSR-4 autoloading, PHP 7.4+/8.x strictness, and Laravel's namespaced Auth/Mail contracts. Any attempt to run it on Laravel 5+ should be scoped as a fork-and-port project, not an install — budget for service-provider registration, config publishing, namespace changes, and mail API adaptation.
Sequencing.
Maintenance. Effectively ownerless. There is no upstream to absorb framework upgrades, PHP version bumps, or security fixes; the adopting team becomes the maintainer of a private fork. That is a permanent, if small, tax on the auth team and should be recorded as such in the risk register.
Support. No vendor, no active community around a 63-star legacy bundle, and limited contemporary documentation. Institutional knowledge will live with whoever performs the initial integration — a single-point-of-failure risk that argues for written runbooks at handoff.
Scaling. The package is stateless with respect to verification beyond a database flag and code column, so it does not constrain horizontal scaling of the app itself. The scaling pressure is on the mail path: verification sends are user-triggered and bursty at signup peaks, so email throughput, queueing, and provider rate limits — not the package — are the real capacity concern.
Failure modes.
User model is modified elsewhere, producing unverified-but-logged-in states.Ramp-up. Small surface area — an experienced Laravel engineer should be productive in well under a day. The genuine ramp-up cost is historical context: understanding which Laravel version the fork targets, how the mail path is wired, and what the verification invariants are supposed to be. Budget a half-day of documentation review and a supervised end-to-end verification test before granting production responsibility.
Recommendation. Do not adopt for any new or upgradable application — native Laravel email verification supersedes it with zero maintenance burden. Permit it only as a short-lived bridge inside an already-legacy Laravel 3/4 codebase, and pair that approval with a dated exit plan to first-party verification.
How can I help you explore Laravel packages today?