Dans cet article, nous apprendrons comment intégrer le middleware JWT (JSON Web Tokens) dans Lithe, fournissant une authentification robuste et sécurisée pour votre API. L'utilisation de JWT permet d'authentifier les utilisateurs et de protéger les itinéraires sensibles de manière simple et efficace.
JSON Web Token (JWT) est un standard ouvert (RFC 7519) qui définit un moyen compact et autonome de transmettre des informations entre les parties en tant qu'objet JSON. Ces jetons peuvent être utilisés pour l'authentification, vous permettant de maintenir la session d'un utilisateur sans avoir besoin de stocker des informations sur le serveur. JWT se compose de trois parties : en-tête, charge utile et signature.
composer create-project lithephp/lithephp project-name cd project-name
composer require lithemod/jwt
use function Lithe\Orbis\Http\Router\router; $app = new \Lithe\App; $app->use('/api', router(__DIR__ . '/routes/api')); $app->listen();
use Lithe\Http\{Request, Response}; use function Lithe\Orbis\Http\Router\{get}; $auth = new \Lithe\Auth\JWT(); get('/protected', $auth, function(Request $req, Response $res) { return $res->json(['message' => 'This is a protected content!']); });
use Lithe\Http\{Request, Response}; use function Lithe\Orbis\Http\Router\{post}; post('/login', function(Request $req, Response $res) { $body = $req->body(); // Assuming the request body contains 'username' and 'password' // Here you should validate the user's credentials (simplified example) if ($body->username === 'admin' && $body->password === 'password') { $user = ['id' => 1]; // Example user $token = (new \Lithe\Auth\JWT())->generateToken($user); return $res->send(['token' => $token]); } return $res->status(401)->json(['message' => 'Invalid credentials']); });
Grâce à cela, vous avez intégré avec succès le middleware JWT dans Lithe, permettant une authentification sécurisée et une protection des routes sensibles. Il est important de rappeler que lors de l'utilisation de JWT, vous devez définir une clé sécurisée et secrète lors de l'instanciation de l'objet JWT en la passant comme premier paramètre : new JWT('your_secret_key'). Cette clé doit être complexe et gardée secrète pour éviter la fraude.
Vous pouvez désormais étendre votre application selon vos besoins et implémenter des fonctionnalités supplémentaires telles que la révocation des jetons et la gestion des sessions.
Pour approfondir JWT, vous pouvez consulter la documentation officielle ici.
N'hésitez pas à partager vos expériences et questions dans les commentaires !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!