178 lines
5.3 KiB
PHP
178 lines
5.3 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of jwt-auth.
|
|
*
|
|
* (c) Sean Tymon <tymon148@gmail.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 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',
|
|
(file_exists(base_path('.jwt.'.env('APP_ENV').'.crt'))
|
|
? file_get_contents(base_path('.jwt.'.env('APP_ENV').'.crt'))
|
|
: 'changeme')
|
|
),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| JWT time to live
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Specify the length of time (in minutes) that the token will be valid for.
|
|
| Defaults to 1 hour
|
|
|
|
|
*/
|
|
|
|
'ttl' => 60,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 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' => 'RS256',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| User Model namespace
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Specify the full namespace to your User model.
|
|
| e.g. 'Acme\Entities\User'
|
|
|
|
|
*/
|
|
|
|
'user' => 'App\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 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',
|
|
|
|
],
|
|
|
|
];
|