Open source
JWT for Laravel
composer require roundly-consulting/jwt-for-laravelPrehľad
Natívne JSON Web Tokeny pre Laravel. Na prihlasovacej aplikácii vydávajte RS256 používateľské tokeny a v každej ďalšej službe ich overujte offline len s verejným kľúčom; na komunikáciu medzi službami podpisujte krátkodobé HS256 servisné tokeny. Guardy jwt a service-jwt, samočistiaci jti denylist a autorizácia z claimov sa zapájajú priamo do autentifikácie Laravelu. Licencia MIT a žiadna kryptografia tretích strán — JOSE jadro stojí na ext-openssl priamo v PHP cez náš auditovaný crypto-for-laravel.
Čo získate
RS256 používateľské tokeny
Vydávajte ich na aplikácii s privátnym kľúčom a overujte offline kdekoľvek, len s verejným PEM kľúčom.
HS256 servisné tokeny
Krátkodobé tokeny medzi službami so zdieľaným alebo samostatným tajomstvom pre každú službu, plus pomocník na odchádzajúce HTTP volania.
Hotové guardy
Drivery jwt a service-jwt pre config/auth.php — claims režim alebo Eloquent provider, viacero guardov oddelených cez audience.
Odhlásenie jedným volaním
jti denylist v cache, ktorý sa sám vyčistí po exp + leeway, plus verzie tokenov na odhlásenie zo všetkých zariadení.
Autorizácia z claimov
Oprávnenia uložené v tokene idú priamo do Gate v Laraveli — kontroly can() bez dotazu do databázy.
Bezpečné, bez kryptografie tretích strán
Pripnutý algoritmus, HMAC v konštantnom čase, kontrola veľkosti kľúčov a povinné iss/aud — na ext-openssl priamo v PHP cez náš crypto-for-laravel.
Fasáda, DI a zaznamenávajúci fake
Handly Jwt::guard() a Jwt::services(), vložiteľný JwtManager a Jwt::fake() s kľúčmi v pamäti a actingAs().
Dokumentácia
Inštalácia
Inštalácia cez Composer, publikovanie konfigurácie a pár RSA kľúčov na vydávajúcej aplikácii — overujúcim stačí verejný kľúč.
Konfigurácia
Každý kľúč config/jwt.php s env premennou a predvolenou hodnotou — kľúče, piny, platnosti, guardy, denylist a servisné tokeny.
Fasáda Jwt
Jeden vstupný bod na vydávanie, overovanie a odhlásenie, s handlami Jwt::guard() a Jwt::services(), zverejnením JWKS a fakom.
DI a akcie
Bez fasády: vložte si JwtManager a máte to isté API bez statických volaní, alebo použite kontrakty za ním — triedy akcií balík nemá.
Vydávanie používateľských tokenov
Vydávajte RS256 prístupové tokeny cez fluentný AccessTokenRequest, plus challenge, email-verify a tokeny s vlastným scope.
Overovanie tokenov
Overujte RS256 tokeny offline len s verejným kľúčom, čítajte claimy cez typované metódy a ošetrite zlyhania.
Guardy
Zapojte drivery jwt a service-jwt — claims režim alebo Eloquent provider, spracovanie requestu a kontrola verzie tokenu.
Viacero guardov
Viacero jwt guardov — používatelia, klienti — oddelených vlastným audience, s vlastným scope, identitou a denylistom.
Servisné tokeny
Krátkodobé HS256 tokeny medzi službami: vydanie, pripojenie k odchádzajúcim HTTP volaniam, režim tajomstva a overenie prichádzajúcich volaní.
Odhlásenie a denylist
Odhlasujte používateľov zaradením jti do denylistu — úložisko v cache, ktoré záznam zmaže, keď už token nemôže prejsť overením.
Autorizácia z claimov
Udeľujte oprávnenia priamo z claimu permissions cez Gate v Laraveli — kontroly can() bez dotazu do databázy.
Udalosti
Štyri udalosti životného cyklu — vydanie používateľského a servisného tokenu, zlyhané overenie, zakázanie — len s bezpečnými metadátami.
Artisan príkazy
Vygenerujte 2048-bitový pár RSA kľúčov cez jwt:generate-keys a skontrolujte nastavenie tokenov cez php artisan about.
Bezpečnostný model
Čo balík vynucuje za vás — pripnutý algoritmus, silu kľúčov a tajomstiev, povinné piny, limity veľkosti a fail-closed správanie.
Výnimky
Hierarchia JwtException pre zlyhania tokenov a výnimky chybnej konfigurácie, ktoré skončia ako 500 namiesto 401.
Rozšírenie
Nahraďte ktorýkoľvek kontrakt — vydavateľa, overovač, servisné tokeny, denylist — a zapojte vlastnú triedu identity.
Testovanie
Jwt::fake() zaznamená každé vydanie, servisný token aj zakázanie nad kľúčmi v pamäti, s actingAs() — alebo testujte so skutočnými kľúčmi.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13 a rozšírenia ext-openssl a ext-json. Balíky crypto, enums a package toolkit Composer doinštaluje automaticky.
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.