ngabor84 / laravel-jwt-auth
JWT authentication middleware for the Laravel and Lumen framework
Installs: 3 263
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: ^8.2
- firebase/php-jwt: ^v6.10
- illuminate/support: ^v11.26
- symfony/http-foundation: ^v7.1
- symfony/http-kernel: ^v7.1
Requires (Dev)
- laravel/framework: ^v11.26
- laravel/lumen-framework: ^11.0
- orchestra/testbench: ^v9.5
- phpunit/phpunit: ^11.3
README
JWT Auth Middleware
JWT authentication middleware for the Laravel and Lumen framework.
About
This package allows you to authenticate the incoming requests with JWT authentication.
Installation
Require the ngabor84/laravel-jwt-auth package in your composer.json and update your dependencies:
composer require ngabor84/laravel-jwt-auth
Usage with Laravel
Add the service provider to the providers array in the config/app.php config file as follows:
'providers' => [ ... \Middleware\Auth\Jwt\Providers\LaravelServiceProvider::class, ]
Run the following command to publish the package config file:
php artisan vendor:publish --provider="Middleware\Auth\Jwt\Providers\LaravelServiceProvider"
You should now have a config/jwt.php file that allows you to configure the basics of this package.
Usage with Lumen
Add the following snippet to the bootstrap/app.php file under the providers section as follows:
$app->register(\Middleware\Auth\Jwt\Providers\LumenServiceProvider::class); ... $app->configure('jwt');
Create a config directory (if it's not exist), and create an jwt.php in it with the plugin configuration like this:
return [ 'secret' => env('JWT_SECRET'), 'algo' => 'HS256', 'expiration' => 10, // 10 minutes 'decorateRequestWithTokenPayload' => false, // if it's true then after authentication the request will contain a tokenPayload attribute with the payload of the JWT token ];