JWT-Guard is a Laravel package that allow authentication and authorization as a guard driver using JWT tokens.
This package was forked from paulvl/jwt-guard.
Begin by installing this package through Composer.
You can run:
composer require lucasromanojf/jwt-guard 0.*
Or edit your project's composer.json file to require lucasromanojf/jwt-guard.
"require": {
"lucasromanojf/jwt-guard": "0.*"
}
Next, update Composer from the Terminal:
composer update
Once the package's installation completes, the final step is to add the service provider. Open config/app.php
, and add a new item to the providers array:
LucasRomano\JWTGuard\Auth\AuthServiceProvider::class,
Finally publish package's configuration file:
php artisan vendor:publish --provider="LucasRomano\JWTGuard\Auth\AuthServiceProvider"
Then the file config/jwt.php
will be created.
To start using JWT drive you need to create anew guard on config/auth.php
file:
...
'guards' => [
...
'jwt' => [
'driver' => 'jwt',
'provider' => 'users',
],
...
],
...
You can use any Eloquent
provider that you want.
###Using JWT Guard
####attempt
// Assuming you retrieve your credentials from request
$credentials = [
'email' => '[email protected]',
'password' => 'password'
];
//this will return a token array
return Auth::guard('jwt')->attempt($credentials);
####blacklistToken
//this will blacklist current jwt-token and referenced refresh token if exists
return Auth::guard('jwt')->blacklistToken();
###Using JWT Middleware
if you need to validate JWT token request just add LucasRomano\JWTGuard\Auth\Middleware\AuthenticateJwt::class
to routeMiddleware
on Http/Kernel.php
file:
protected $routeMiddleware = [
...
'auth-jwt' => \LucasRomano\JWTGuard\Auth\Middleware\AuthenticateJwt::class,
...
];
If you like this little piece of code share it with you friends and feel free to contribute with any improvements.