This package is a PSR-15 compliant JSON Web Token authentication middleware, which take a JWT from the headers or cookies.
use JimTools\JwtAuth\Decoder\FirebaseDecoder;
use JimTools\JwtAuth\Middleware\JwtAuthentication;
use JimTools\JwtAuth\Exceptions\AuthorizationException;
use JimTools\JwtAuth\Options;
use JimTools\JwtAuth\Secret;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require './vendor/autoload.php';
$app = AppFactory::create();
$app->addErrorMiddleware(false, false, false)
->setErrorHandler(AuthorizationException::class, new MyErrorHandler());
$middleware = new JwtAuthentication(
new Options(),
new FirebaseDecoder(new Secret('tooManySecrets', 'HS256'))
);
$app->get('/protected', static function (Request $request, Response $response, array $args) {
$response->getBody()->write('you will need a token');
return $response;
})->addMiddleware($middleware);
$app->run();
Note
For documentation on v1.x which is conpatiable with tuupola/slim-jwt-auth
see 1.x
The recommended way to install packages is through composer.
composer require jimtools/jwt-auth
GitHub issues are used for only to discuss bugs and new features, for support please use GitHub discussions.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.