This package implements authorization with
JWT tokens in Spiral applications.
firebase/php-jwt is used for JWT-related work, reference its documentation
for list of supported algorithms.
composer require ruvents/spiral-jwtThen add JwtAuthBootloader to your App.php:
use Ruvents\SpiralJwt\JwtAuthBootloader;
class App extends Kernel {
protected const LOAD = [
...
JwtAuthBootloader::class,
]
}Default configuration is following:
<?php
declare(strict_types=1);
return [
'algorithm' => 'HS256',
'expiresAt' => '+1 week',
];Copy it and put to your configuration directory into jwt.php file:
app/config/jwt.php.
You must supply key for encryption and decryption.
Symmetric encryption:
<?php
use Ruvents\SpiralJwt\Keys;
declare(strict_types=1);
return [
'algorithm' => 'HS256',
'expiresAt' => '+1 week',
'key' => new Keys('*PRIVATE KEY*'),
];Asymmetric encryption:
<?php
use Ruvents\SpiralJwt\Keys;
declare(strict_types=1);
return [
'algorithm' => 'RS256',
'expiresAt' => '+1 week',
'key' => new Keys('*PRIVATE KEY*', '*PUBLIC KEY*'),
];