JWT en PHP
Installation
composer require firebase/php-jwtGénérer un token
use Firebase\JWT\JWT;\nuse Firebase\JWT\Key;\n\n$secret = 'VOTRE_SECRET_32_CARACTERES_MIN';\n$payload = [\n 'iss' => 'nhchosting.ca',\n 'sub' => $userId,\n 'iat' => time(),\n 'exp' => time() + 3600 // Expire en 1h\n];\n$token = JWT::encode($payload, $secret, 'HS256');Vérifier un token
$authHeader = $_SERVER['HTTP_AUTHORIZATION'] ?? '';\n$token = str_replace('Bearer ', '', $authHeader);\ntry {\n $decoded = JWT::decode($token, new Key($secret, 'HS256'));\n $userId = $decoded->sub;\n} catch (Exception $e) {\n http_response_code(401);\n echo json_encode(['error' => 'Token invalide']);\n exit;\n}Bonnes pratiques
- Secret d'au moins 32 caractères
- Expiration courte (1h) avec refresh tokens
- HTTPS obligatoire
Cet article vous a-t-il été utile?
Articles similaires