brenodouglas / laraveljwt
Package Jwt Laravel
Requires
- illuminate/contracts: ^5.2
- illuminate/http: ^5.2
- illuminate/support: ^5.2
- lcobucci/jwt: ^3.1
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-11-15 19:32:20 UTC
README
1. Depedency
Using composer, execute the following command to automatically update your composer.json
:
composer require brenodouglas/laraveljwt
or manually update your composer.json
file
{ "require": { "brenodouglas/laraveljwt": "^0.1.0" } }
2. Provider
You need to update your application configuration in order to register the package, so it can be loaded by Laravel.
Just update your config/app.php
file adding the following code at the end of your 'providers'
section:
// file START ommited 'providers' => [ // other providers ommited \LaravelJwt\JwtProvider::class, ], // file END ommited
3. Publishing configuration file
To publish the default configuration file
php artisan vendor:publish
4. Using the middleware
To protect your routes, you can use the built-in middlewares.
Verify token and regenerate new token in get or header with key 'access-token' : authjwt
Route::get('foo', ['middleware' => ['authjwt'], function() { return 'Yes I can!'; }]);
Or within controllers:
$this->middleware('authjwt');
5. Auth and Facade
Register facade and use Jwt authentication.
Just update your config/app.php
file adding the following code at the end of your 'aliases'
section:
// file START ommited 'aliases' => [ // other aliases ommited 'JWT' => \LaravelJwt\Facades\JwtAuthFacade::class ], // file END ommited
One example route auth and protected route with jwt:
Route::post("auth", function(\Illuminate\Http\Request $request) { return response()->json(['token'=> \JWT::authenticate($request)]); }); Route::group(['middleware' => ['authjwt']], function($router) { $router->get('users', function() { return 'Yes, a can!'; }); });
Send POST for 'auth' route with raw body json:
{ "email": "email@foryouruser.com", "password": "password" }
The return is json with a key 'token'.