lake/larke-auth
Larke Auth is a Laravel/PHP package that provides a lightweight authentication layer for your applications, with helpers and configuration to integrate login, registration, and access control into your project while keeping auth setup simple and customizable.
Architecture fit
Gate/Policy is real. Two authorization systems in one codebase produce divergent answers, unclear ownership, and audit gaps. Any adoption should be an explicit replacement or an explicit boundary (e.g., larke-auth only for data-scoped ABAC checks), not a coexistence.Integration feasibility
composer require, publish config/migrations, define model/policy files, register middleware. A spike should land in a day.eval/call_user_func; if user-influenced policy strings reach an evaluator, that is a code-execution surface and a hard blocker without review.Technical risk
composer.json constraints against your Laravel major (10/11/12) and PHP floor. A package that lags a Laravel major is a forced-migration liability on your upgrade calendar.Key questions to put to the maintainer / answer from source
Gate? Can decisions be logged for shadow comparison?Stack fit
spatie/laravel-permission or Gate-centric policies — you would be trading a widely adopted, well-understood RBAC layer for an unvetted one to gain ABAC.Gate and Spatie make awkward. If RBAC is sufficient, stop here.Migration path
AuthorizationService contract (can(subject, action, resource, context)) and bind larke-auth behind it. This is cheap insurance and makes the package a disposable implementation detail.Compatibility
composer.lock; do not float. Verify behavior under Octane/long-running workers, where a stale in-memory policy cache silently serves wrong decisions across requests.Sequencing
eval-based, terminate.Maintenance
Support
Scaling
Failure modes to design against
Ramp-up
Recommendation: Treat as unvetted. Proceed only to a time-boxed spike, only behind an internal abstraction, and only if ABAC is a genuine requirement that native Gate and Spatie cannot meet. Default position is no-adopt.
How can I help you explore Laravel packages today?