absolvent/bundle-api
absolvent/bundle-api
JWT Authentication Guard
Enable in project
- Add
Absolvent\api\Providers\AuthServiceProvidertoconfig/app.phpproviders. - Create
config/jwt.phpsimilar toconfig/jwt.phpin this bundle - Change
defaults.guardtojwtinconfig/auth.php - Add
'jwt' => [
'driver' => 'jwt',
'provider' => 'users',
],
to guards in config/auth.php
- Add
JWT_SECRETvariable to.env(eq.JWT_SECRET=SvfJknJLYWwvadkCLVE7HIzn2JpWDkXv)
NOTE: JWT_SECRET should be te same as in microservice-users
Usage
Generally all Laravel authorization and authentication functionality
should work out of the box when JwtAuthenticationGuard is configured properly.
Get jwt token / user information
use Illuminate\Support\Facades\Auth;
$user = Auth::user(); // returns JwtUser or null
$user = Auth::authenticate() // returns JwtUser or throws Exception
$jwtToken = Auth::getName(); // returns jwt token
$userSub = Auth::id(); // returns user email (jwt token `sub` claim)
User information are taken from jwt token so there are very basic.
To get extended user information you have to issue call to microservice-users.
Permission based endpoint authentication
Add permission or can middleware to endpoint controller
class EndpointController extends \Absolvent\api\Http\Controller
{
public function __construct()
{
$this->middleware('permission:TALENTDAYS_ADMIN|TALENTDAYS_AREA');
}
// ...
}
In above example only user with TALENTDAYS_ADMIN or TALENTDAYS_AREA can access the endpoint
Allow sending PATH requests with multipart-form content type
Add Absolvent\api\Http\Middleware\PreparePatchMultiPartForm to Absolvent\api\Http\Kernel::$middleware
Make sure that PreparePatchMultiPartForm is after ValidatePostSize
Related Packages
Automatic configuration for Laravel apps to apply Tighten's standard linting & c...
Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Fram...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 2.3.0 | >=7.1.0 | 5.4.*| | MIT | |
| 2.2.0 | >=7.1.0 | 5.4.* | MIT | |
| 2.1.2 | >=7.1.0 | 5.4.* | MIT | |
| 2.1.1 | >=7.1.0 | 5.4.* | MIT | |
| 2.1.0 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.6 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.5 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.4 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.3 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.2 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.1 | >=7.1.0 | 5.4.* | MIT | |
| 2.0.0 | >=7.1.0 | 5.4.* | MIT | |
| 1.3.2 | >=7.1.0 | 5.4.* | MIT | |
| 1.3.1 | >=7.1.0 | 5.4.* | MIT | |
| 1.3.0 | >=7.1.0 | 5.4.* | MIT | |
| 1.2.0 | >=7.1.0 | 5.4.* | MIT | |
| 1.1.1 | >=7.1.0 | 5.4.* | MIT | |
| 1.1.0 | >=7.1.0 | 5.4.* | MIT | |
| 1.0.0 | >=7.1.0 | 5.4.* | MIT |