|
<?php |
|
|
|
return [ |
|
'packages' => [ |
|
'tymon/jwt-auth' => [ |
|
'config_namespace' => 'jwt', |
|
'config' => [ |
|
'secret' => env('JWT_SECRET', '7MWOiEIaQ5KK8faP9EwfIxVcatEl05SX'), |
|
'ttl' => env('JWT_TTL', 10080), // 1 week is default |
|
'refresh_ttl' => 20160, |
|
'algo' => 'HS256', |
|
'user' => 'Backend\Models\User', |
|
'identifier' => 'id', |
|
'required_claims' => ['iss', 'iat', 'exp', 'nbf', 'sub', 'jti'], |
|
'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), |
|
'providers' => [ |
|
'user' => 'Tymon\JWTAuth\Providers\User\EloquentUserAdapter', |
|
'jwt' => 'Tymon\JWTAuth\Providers\JWT\NamshiAdapter', |
|
'auth' => 'Tymon\JWTAuth\Providers\Auth\IlluminateAuthAdapter', |
|
'storage' => 'Tymon\JWTAuth\Providers\Storage\IlluminateCacheAdapter', |
|
], |
|
] |
|
] |
|
], |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| JWT Authentication Secret |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Don't forget to set this, as it will be used to sign your tokens. |
|
| A helper command is provided for this: `php artisan jwt:generate` |
|
| |
|
*/ |
|
|
|
'secret' => env('JWT_SECRET', '7MWOiEIaQ5KK8faP9EwfIxVcatEl05SX'), |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| JWT time to live |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the length of time (in minutes) that the token will be valid for. |
|
| Defaults to 1 hour |
|
| |
|
*/ |
|
|
|
// 'ttl' => 100031, |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Refresh time to live |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the length of time (in minutes) that the token can be refreshed |
|
| within. I.E. The user can refresh their token within a 2 week window of |
|
| the original token being created until they must re-authenticate. |
|
| Defaults to 2 weeks |
|
| |
|
*/ |
|
|
|
// 'refresh_ttl' => 20160, |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| JWT hashing algorithm |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the hashing algorithm that will be used to sign the token. |
|
| |
|
| See here: https://github.com/namshi/jose/tree/2.2.0/src/Namshi/JOSE/Signer |
|
| for possible values |
|
| |
|
*/ |
|
|
|
'algo' => 'HS256', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| User Model namespace |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the full namespace to your User model. |
|
| e.g. 'Acme\Entities\User' |
|
| |
|
*/ |
|
|
|
'user' => 'Backend\Models\User', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| User identifier |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify a unique property of the user that will be added as the 'sub' |
|
| claim of the token payload. |
|
| |
|
*/ |
|
|
|
'identifier' => 'id', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Required Claims |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the required claims that must exist in any token. |
|
| A TokenInvalidException will be thrown if any of these claims are not |
|
| present in the payload. |
|
| |
|
*/ |
|
|
|
'required_claims' => ['iss', 'iat', 'exp', 'nbf', 'sub', 'jti'], |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Blacklist Enabled |
|
|-------------------------------------------------------------------------- |
|
| |
|
| In order to invalidate tokens, you must have the the blacklist enabled. |
|
| If you do not want or need this functionality, then set this to false. |
|
| |
|
*/ |
|
|
|
'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Providers |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the various providers used throughout the package. |
|
| |
|
*/ |
|
|
|
'providers' => [ |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| User Provider |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the provider that is used to find the user based |
|
| on the subject claim |
|
| |
|
*/ |
|
|
|
'user' => 'Tymon\JWTAuth\Providers\User\EloquentUserAdapter', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| JWT Provider |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the provider that is used to create and decode the tokens. |
|
| |
|
*/ |
|
|
|
'jwt' => 'Tymon\JWTAuth\Providers\JWT\NamshiAdapter', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Authentication Provider |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the provider that is used to authenticate users. |
|
| |
|
*/ |
|
|
|
'auth' => 'Tymon\JWTAuth\Providers\Auth\IlluminateAuthAdapter', |
|
|
|
/* |
|
|-------------------------------------------------------------------------- |
|
| Storage Provider |
|
|-------------------------------------------------------------------------- |
|
| |
|
| Specify the provider that is used to store tokens in the blacklist |
|
| |
|
*/ |
|
|
|
'storage' => 'Tymon\JWTAuth\Providers\Storage\IlluminateCacheAdapter', |
|
|
|
], |
|
|
|
]; |
{
"require": {
"php": ">=7.0",
"ext-mbstring": "",
"ext-openssl": "",
"october/rain": "~1.0",
"october/system": "~1.0",
"october/backend": "~1.0",
"october/cms": "~1.0",
"laravel/framework": "5.5.*",
"tymon/jwt-auth": "^0.5.12"
}
}