7.5. Travailler avec des routes dans ExpressJS : Travailler avec des routes d'authentification

Page 51 | Écouter en audio

Travailler avec des routes dans ExpressJS est une partie essentielle du développement d'API dans NodeJS. Dans ce chapitre, nous nous concentrerons spécifiquement sur les routes d'authentification, un élément crucial pour la sécurité et la fonctionnalité de toute application.

ExpressJS est un framework pour NodeJS qui fournit un moyen robuste et simple de créer des serveurs Web. L'une des fonctionnalités les plus puissantes d'ExpressJS est son système de routage. Les routes sont la façon dont le serveur répond aux demandes spécifiques des clients. En pratique, vous définissez des routes vers différentes URL et différentes méthodes HTTP (GET, POST, DELETE, etc.), puis définissez ce que le serveur doit faire lorsque ces requêtes sont reçues.

Les routes d'authentification sont un type spécial de route utilisé pour vérifier l'identité d'un utilisateur. Ces itinéraires nécessitent généralement que l'utilisateur fournisse une sorte d'informations d'identification, telles qu'un nom d'utilisateur et un mot de passe, puis le serveur vérifie que ces informations d'identification sont valides. Si tel est le cas, le serveur peut fournir à l'utilisateur un jeton d'authentification, que l'utilisateur peut ensuite utiliser pour effectuer des requêtes authentifiées vers d'autres routes.

Pour commencer à travailler avec les routes d'authentification, nous devons d'abord installer quelques packages supplémentaires. 'bcrypt' est un package qui nous permet de crypter les mots de passe, ce qui est une pratique de sécurité essentielle. 'jsonwebtoken' est un package qui nous permet de créer et de vérifier des jetons d'authentification. Vous pouvez installer ces packages à l'aide de npm, le gestionnaire de packages NodeJS.

npm installer bcrypt jsonwebtoken

Une fois ces packages installés, nous pouvons commencer à créer notre route d'authentification. Commençons par définir une nouvelle route POST pour '/auth'. Cette route sera utilisée pour authentifier les utilisateurs. Dans cet itinéraire, nous vérifierons d’abord si l’utilisateur a fourni un nom d’utilisateur et un mot de passe. Sinon, nous renverrons une erreur. Si tel est le cas, vérifions si ces informations d'identification sont valides.

const express = require('express'); const bcrypt = require('bcrypt'); const jwt = require('jsonwebtoken'); const routeur = express.Router(); router.post('/auth', async (req, res) => { const { nom d'utilisateur, mot de passe } = req.body; si (!nom d'utilisateur || !mot de passe) { return res.status(400).json({ erreur : 'Le nom d'utilisateur et le mot de passe sont requis' }); } // Vérifiez si les informations d'identification sont valides... });

Pour vérifier que les informations d'identification sont valides, nous devons d'abord récupérer l'utilisateur dans notre base de données. Si l'utilisateur n'existe pas, nous renvoyons une erreur. Si l'utilisateur existe, nous utilisons bcrypt pour comparer le mot de passe fourni avec le mot de passe crypté stocké dans la base de données. Si le mot de passe est valide, nous créons un jeton d'authentification à l'aide de jsonwebtoken et le renvoyons à l'utilisateur.

// Vérifiez si les informations d'identification sont valides... const user = wait User.findOne({ nom d'utilisateur }); si (!utilisateur) { return res.status(400).json({ erreur : 'Nom d'utilisateur ou mot de passe invalide' }); } const validPassword = wait bcrypt.compare(password, user.password); si (!validPassword) { return res.status(400).json({ erreur : 'Nom d'utilisateur ou mot de passe invalide' }); } const token = jwt.sign({ id : user._id }, 'secret', { expiresIn : '1h' }); res.json({jeton});

C'est la base pour travailler avec les routes d'authentification dans ExpressJS. Cependant, vous souhaiterez peut-être prendre en compte de nombreux autres détails, tels que la gestion des jetons d'actualisation, le blocage des routes avec un middleware d'authentification, etc. Cependant, j'espère que cette introduction vous a donné un bon aperçu du processus et vous a encouragé à approfondir le sujet.

Répondez maintenant à l’exercice sur le contenu :

Quel est le rôle des routes d’authentification dans ExpressJS et comment sont-elles implémentées ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

52Travailler avec des routes dans ExpressJS : créer des routes pour CRUD

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte