Guard je izolovaná skupina účtov — používatelia, klienti, personál — s vlastným modelom a tabuľkou, konfiguráciou, routami, JWT audience, typom vlastníka refresh tokenov, kľúčmi limitov a záznamami aktivity. Získate ho cez fasádu:
use RoundlyConsulting\Auth\Facades\Authentication;
$users = Authentication::guard('users'); // GuardContext
Authentication::guard(); // the default guard (authentication.default)
Authentication::guards(); // ['users', 'clients']
$users->name(); // 'users'
$users->config(); // typed GuardConfig
$users->accounts()->findForLogin('[email protected]');Izolácia
- JWT — každý jwt guard má vlastnú audience; token guardu users na route guardu clients dostane 401, aj pri rovnakom primárnom kľúči.
- Refresh tokeny — uplatňujú sa s typom vlastníka guardu; token iného guardu je neznámy a nespotrebuje sa.
- Tajomstvá — MAC každého odkazu a kódu obsahuje guard aj účel; vyhľadávanie filtruje podľa guardu.
- Passkeys — prihlásenie bez hesla očakáva typ vlastníka guardu, takže credential iného guardu sa odmietne skôr, než sa pohne jeho počítadlo podpisov.
- Odlišné morph triedy modelov sú vynútené: dva guardy nad jedným modelom by zdieľali relácie.
Pridanie guardu
php artisan authentication:guard clients
php artisan authentication:guard staff --model=StaffMember --no-passkeys
php artisan authentication:check staffauthentication:guard vytvorí app/Models/<Model>.php, migráciu create_<table>_table (typ kľúča podľa authentication.key_type, stĺpce účtu, 2FA stĺpce, passkey handle, nullable heslo, soft deletes) a factory a potom vypíše blok authentication.guards a úryvok pre config/auth.php. Konfiguráciu nikdy neupravuje; --force prepíše existujúce súbory.
User provider
Každý záznam v auth.providers nasmerujte na driver authentication s názvom guardu. Provider nikdy nenačíta deaktivovaný účet a nemá funkciu „zapamätať si ma“; provider bez kľúča guard vyhodí AuthenticationMisconfigured.
Diagnostika
php artisan authentication:check {guard?} nahlási každý problém validácie a navyše: či provider používa driver authentication pre správny guard, či má tabuľka všetky potrebné stĺpce, či šablóny URL obsahujú {token}, frontované doručovanie na sync fronte (varovanie), zapnuté, no nezaregistrované routy, čitateľnosť JWT kľúčov, naviazaný revoker refresh tokenov a konfiguráciu mailu. Pri akejkoľvek chybe skončí s kódom 1.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.