Skip to content
Add multiple keychain support to tymon/jwt-auth Laravel package
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
README.md
composer.json
phpunit.xml.dist

README.md

JWT Auth with Multiple Keys

This is an extension of tymon/jwt-auth, adding support to:

  • Replace deprecated namshi/jose with lcobucci/jwt
  • JWT with key pairs instead of a secret
  • Validate a JWT against multiple public keys
  • Use JWT secret as a fallback

Installing

Firstly, you must install tymon/jwt-auth.

Add this package through Composer: composer require "fidelize/jwt-auth-multiple-keys"

Edit your config/jwt.php file adding/editing these lines:

<?php
return [
    // ...
    'providers' => [
        // ...
        'jwt' => 'Fidelize\JWTAuth\JwtAdapter',
        'auth' => 'Fidelize\JWTAuth\AuthAdapter',
        // ...
    ],
    'keys_directory' => '/path/yo/your/keys/directory/'
];
?>
# Don't add a passphrase!
ssh-keygen -t rsa -b 4096 -f keys/jwt.app.key
openssl rsa -in keys/jwt.wholesaler.key -pubout -outform PEM -out keys/jwt.app.key.pub

Warning

Keys must follow the pattern name key.*.key and key.*.key.pub

TODO List

  • Support different name patterns
  • Add command to generate keys
You can’t perform that action at this time.