composer require firebase/php-jwt
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
// Generate token
$payload = ["sub"=>$user->id,"exp"=>time()+3600];
$token = JWT::encode($payload, $_ENV["JWT_SECRET"], "HS256");
// Verify in filter
$decoded = JWT::decode($token, new Key($_ENV["JWT_SECRET"], "HS256"));
$userId = $decoded->sub;