* @copyright (c) 2025, Robert Strutts * @license MIT */ namespace Project\controllers\app; use CodeHydrater\bootstrap\registry as Reg; class jwt_ctrl { public function index() { // Payload data (customize as needed) $payload = [ 'iss' => 'your-issuer', // Issuer 'aud' => 'your-audience', // Audience 'iat' => time(), // Issued at (timestamp) 'exp' => time() + 3600, // Expiration time (1 hour) 'sub' => 'user123', // Subject (user ID) 'role' => 'admin' // Custom claim (e.g., user role) ]; try { $access_token = Reg::get('di')->get_service('JWT_Encode', $payload); echo "Access Token: ". $access_token . "
\n"; echo " $access_token] ) ."\">Test Token"; } catch (\Exception $e) { echo "Error generating token: " . $e->getMessage(); } } public function read(array $p) { $token = $p['token'] ?? false; if ($token === false) { echo "Sorry, no token in URL"; exit(1); } try { \CodeHydrater\common::dump(Reg::get('di')->get_service('JWT_Decode', $token)); } catch (\Exception $e) { echo "Invalid token: " . $e->getMessage(); } } }