* @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();
}
}
}