jimtools / jwt-auth
Drop in replacement for tuupola/slim-jwt-auth
Installs: 20 966
Dependents: 3
Suggesters: 0
Security: 0
Stars: 12
Watchers: 4
Forks: 146
Open Issues: 0
Requires
- php: ~8.1|~8.2|~8.3|~8.4
- firebase/php-jwt: ^6.0
- psr/http-message: ^1.0|^2.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- equip/dispatch: ^2.0
- friendsofphp/php-cs-fixer: ^3.64
- laminas/laminas-diactoros: ^3.3
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0|^11.0
- rector/rector: ^1.1
Replaces
README
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
Install
The recommended way to install packages is through composer.
composer require jimtools/jwt-auth
Documentation
GitHub issues are used for only to discuss bugs and new features, for support please use GitHub discussions.
Security
If you discover any security-related issues, please email james.read.18@gmail.com instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
License
The MIT License (MIT). Please see License File for more information.