Un middleware minimaliste pour firebase/php-jwt basée sur https://github.com/firebase/php-jwt
Via composer
composer require oxygenzsas/composer_lib_jwt
$data = ['id_user' =>555];
/** @var OxygenzSAS\JWT\JWT $jwt */
$jwt = Container::getInstance()->get('JWT');
$jwtToken = $jwt->getToken($data);
$decoded = $jwt->decode($jwtToken);
$retour = [
"message" => "Successful login",
"jwt" => $jwtToken,
"expireAt" => $decoded->exp
];
// creation du dispatcher
$Dispatcher = new OxygenzSAS\Dispatcher\Dispatcher();
// creer le jwt
$jwt = new \App\classe\JWT(
$private, // private_key
$public, // public_key
'localhost:8000', // iss
3600, // expire time token -- facultatif default = 3600
'RS256', // algorithm de chiffrement -- facultatif default = RS256
'localhost:8000', // aud -- facultatif default = iss
);
// ajout le middlewares
$Dispatcher->pipe($jwt);