Skip to content

This is super simple and minimal PSR-15 JWT Authentication Middleware. V1 is a replacement for `tuupola/slim-jwt-auth` with minimal changes required.

License

Notifications You must be signed in to change notification settings

JimTools/jwt-auth

 
 

Repository files navigation

PSR-15 JWT Authentication Middleware

Latest Version Software License Build Status Coverage

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

V1 is still supported!! For documentation on v1.x which is compatible 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 [email protected] instead of using the issue tracker.

Contributing

Please see CONTRIBUTING for details.

License

The MIT License (MIT). Please see License File for more information.

About

This is super simple and minimal PSR-15 JWT Authentication Middleware. V1 is a replacement for `tuupola/slim-jwt-auth` with minimal changes required.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Languages

  • PHP 98.6%
  • Makefile 1.4%