ExpressJS est un framework d'application Web Node.js minimal et flexible qui fournit un ensemble robuste de fonctionnalités pour les applications Web et mobiles. L'une des fonctionnalités les plus puissantes d'ExpressJS est sa capacité à gérer les itinéraires. Dans ce chapitre, nous explorerons comment utiliser les routes dans ExpressJS, avec un accent particulier sur l'utilisation des autorisations dans les routes.
Les itinéraires constituent un aspect essentiel de toute application Web. Ils déterminent comment une application répond à une demande client pour une adresse spécifique. Dans ExpressJS, les routes sont définies en attachant des gestionnaires de routes aux instances d'application.
Pour commencer, comprenons d'abord comment définir un itinéraire de base. Supposons que nous souhaitions créer un itinéraire vers la page d'accueil de notre application. Nous procéderions ainsi :
Ici, 'app' est une instance d'express, 'get' est la méthode HTTP que nous traitons, '/' est le chemin de la route et la fonction est le gestionnaire de route qui est exécuté lorsque la route correspond.
Parlons maintenant de l'autorisation. L'autorisation est un processus qui vérifie que l'utilisateur est autorisé à effectuer l'action demandée. Dans le contexte des routes, l'autorisation peut être utilisée pour restreindre l'accès à certaines routes en fonction de l'authentification de l'utilisateur.
Pour implémenter l'autorisation dans nos routes, nous pouvons utiliser un middleware. Le middleware est une fonction qui a accès à l'objet de requête (req), à l'objet de réponse (res) et à la fonction middleware suivante dans le cycle requête-réponse de l'application.
Nous pouvons définir un middleware d'autorisation comme suit :
Ici, « verificaAuthorizacao » est le middleware que nous définissons. Il vérifie que l'utilisateur est autorisé en vérifiant la propriété 'estaAuthorizado' de l'objet 'user' dans la requête. Si l'utilisateur est autorisé, il appelle la fonction middleware suivante. Sinon, il envoie une réponse avec le statut 403 et un message « Accès refusé ».
Nous pouvons désormais utiliser ce middleware dans nos routes pour restreindre l'accès. Par exemple, si nous voulions restreindre l'accès à la route '/secret', nous procéderions comme ceci :
Ici, « checkAuthorization » est passé comme deuxième argument à « app.get ». Cela signifie qu'il s'exécutera avant le gestionnaire de route à chaque accès à la route '/secret'. Si l'utilisateur n'est pas autorisé, il recevra une réponse avec le statut 403 et le message « Accès refusé ». Si l'utilisateur est autorisé, le gestionnaire de route s'exécutera et l'utilisateur verra le message « Bienvenue sur la page secrète ! ».
En résumé, les routes sont un aspect essentiel du développement d'applications Web avec ExpressJS. Ils vous permettent de définir comment votre application doit répondre aux différentes requêtes. L'autorisation est un aspect important des routes qui vous permet de restreindre l'accès en fonction de l'authentification de l'utilisateur. En utilisant un middleware, vous pouvez facilement implémenter l'autorisation dans vos itinéraires.