tipoff/authorization
Opinionated Laravel authorization package enabling users with multiple email addresses and unique usernames. Includes User and EmailAddress models, policies, and auth guard/provider configuration. Requires Laravel Nova. Deprecated/archived; no longer actively maintained.
Policy classes, ensuring seamless integration with existing auth systems. The new search functionality does not disrupt this paradigm.authorize:user) remains fully supported.Tipoff\Authorization\Eloquent\Role::addGlobalScope('emailSearch', function (Builder $builder) {
$builder->where('email', 'like', '%' . request('query') . '%');
});
assertAuthorized), but the new feature may require additional tests for edge cases (e.g., partial email matches, case sensitivity).LIKE queries).Gate/Policy may face refactoring overhead if adopting this package.LIKE vs. indexed lookup)?Gate/Policy?$role = Tipoff\Authorization\Eloquent\Role::searchByEmail('user@example.com')->first();
roles table has an email column (if not already present).Schema::table('roles', function (Blueprint $table) {
$table->index('email');
});
Auth::user()).spatie/laravel-permission (duplicate tables).composer.json constraints).email column to roles table + index.can() method (unchanged).Gate::check() with authorize:user middleware (unchanged).Gate changes).LIKE queries may degrade under high concurrency; add:
email.authorize() call still triggers a DB query; cache with Gate::before().| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package abandoned | Unpatched vulnerabilities |
How can I help you explore Laravel packages today?