Inštalácia
Pridajte balík a publikujte konfiguráciu. Service provider aj alias fasády Jwt sa načítajú automaticky — bez manuálnej registrácie:
composer require roundly-consulting/jwt-for-laravel
php artisan vendor:publish --tag="jwt-config"jwt-config je jediný publish tag — balík nemá migrácie, views ani routy. Provider naviaže každý kontrakt na natívnu implementáciu, zaregistruje drivery guardov jwt a service-jwt a pridá príkaz jwt:generate-keys.
Vydávajúce aplikácie
Vydávajúca aplikácia vydáva používateľské tokeny, preto drží privátny RSA kľúč. Nastavte piny a vygenerujte 2048-bitový pár kľúčov:
# Pinned into and checked on every user token.
JWT_ISSUER=auth
JWT_AUDIENCE=web
# Optional: the key paths default to storage/jwt-private.key and storage/jwt-public.pem.
# Relative paths resolve from the application root.
# JWT_PRIVATE_KEY_PATH=storage/jwt-private.key
# JWT_PUBLIC_KEY_PATH=storage/jwt-public.pemphp artisan jwt:generate-keysBez nastavených ciest JWT_* zapíše privátny kľúč do storage/jwt-private.key (s oprávneniami 0600) a verejný do storage/jwt-public.pem — presne tam, odkiaľ ich číta konfigurácia. Štandardný .gitignore Laravelu už vylučuje /storage/*.key; ak JWT_PRIVATE_KEY_PATH nasmerujete inam, súbor z verziovania vylúčte sami. Relatívne cesty sa odvodzujú od koreňa aplikácie.
Aplikácie, ktoré len overujú
Ostatné služby tokeny len overujú. Verejný kľúč vydávajúcej aplikácie skopírujte do JWT_PUBLIC_KEY_PATH (predvolene storage/jwt-public.pem) — privátny kľúč netreba, pretože ho číta len vydávanie, takže nikdy neopustí vydavateľa:
JWT_ISSUER=auth
JWT_AUDIENCE=web
# No private key. Copy the issuer's public key here.
JWT_PUBLIC_KEY_PATH=storage/jwt-public.pemJWT_ISSUER a JWT_AUDIENCE sú povinné na oboch stranách. Nenastavená hodnota (null alebo prázdna) vyhodí JwtMisconfigured hneď pri vytvorení vydavateľa či overovača, takže nenastavený pin sa nikdy nezhoduje naprázdno.
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.