Couverture de livre électronique gratuite Comment créer des API dans NodeJS de base à avancée

Comment créer des API dans NodeJS de base à avancée

4.5

(2)

149 pages

Travailler avec des jetons Web JSON (JWT) dans NodeJS : comment implémenter l'authentification basée sur JWT dans une API NodeJS

Capítulo 119

Temps de lecture estimé : 4 minutes

Audio Icon

Écouter en audio

0:00 / 0:00

18.10. Travailler avec les jetons Web JSON (JWT) dans NodeJS

JSON Web Tokens (JWT) est une norme ouverte (RFC 7519) qui définit un moyen compact et sécurisé de transmettre des informations entre les parties en tant qu'objet JSON. Ces informations peuvent être vérifiées et fiables car elles sont signées numériquement. Les JWT peuvent être signés à l'aide d'un secret (avec l'algorithme HMAC) ou d'une paire de clés publique/privée utilisant RSA ou ECDSA.

L'authentification basée sur JWT est un moyen populaire d'authentifier les applications Web. Avec l'authentification JWT, un jeton est stocké sur le client, qui est envoyé à chaque requête au serveur pour être authentifié.

Comment implémenter l'authentification basée sur JWT dans une API NodeJS

Pour implémenter l'authentification basée sur JWT dans une API NodeJS, vous aurez besoin des étapes suivantes :

  1. Installer le package jsonwebtoken
  2. Créez une route de connexion pour générer le jeton
  3. Vérifier le jeton à chaque demande

1. Installer le package jsonwebtoken

Tout d'abord, vous devrez installer le package jsonwebtoken dans votre projet NodeJS. Vous pouvez le faire en utilisant npm (Node Package Manager) avec la commande suivante :

npm installer jsonwebtoken

2. Créez une route de connexion pour générer le jeton

Ensuite, vous devrez créer une route de connexion qui générera le jeton JWT. Voici un exemple de la façon dont vous pouvez procéder :

Continuez dans notre application.

Vous pouvez écouter le livre audio écran éteint, recevoir un certificat gratuit pour ce cours et accéder également à 5 000 autres cours en ligne gratuits.

Ou poursuivez votre lecture ci-dessous...
Download App

Téléchargez l'application

const jwt = require('jsonwebtoken'); const express = require('express'); const app = express(); app.post('/login', (req, res) => { // Authentifier l'utilisateur utilisateur const = { identifiant : 1, nom d'utilisateur : 'test', e-mail : 'test@test.com' } jwt.sign({utilisateur : utilisateur}, 'secretkey', (err, jeton) => { res.json({ jeton : jeton }); }); });

Dans l'exemple ci-dessus, nous authentifions d'abord l'utilisateur. Nous utilisons ensuite la fonction jwt.sign pour créer le jeton JWT. La fonction jwt.sign prend trois paramètres : la charge utile (dans ce cas, l'objet utilisateur), la clé secrète et une fonction de rappel.

3. Vérifier le jeton à chaque demande

Enfin, vous devrez vérifier le jeton JWT à chaque requête. Vous pouvez le faire en créant un middleware qui vérifie le jeton :

function AuthenticateToken (req, res, suivant) { constbearerHeader = req.headers['autorisation']; if (typeofbearerHeader !== 'indéfini') { const porteur = porteurHeader.split(' '); const porteurToken = porteur[1]; req.token = porteurToken ; suivant(); } autre { res.sendStatus(403); } } app.get('/api', AuthenticateToken, (req, res) => { jwt.verify(req.token, 'secretkey', (err, authData) => { si (erreur) { res.sendStatus(403); } autre { res.json({ message : 'API accédée avec succès', Date d'authentification }); } }); });

Dans l'exemple ci-dessus, le middleware AuthenticateToken vérifie si le jeton JWT est présent dans l'en-tête d'autorisation. Si le token est présent, il est vérifié à l'aide de la fonction jwt.verify. Si le jeton est valide, la demande est autorisée à se poursuivre. Si le jeton n'est pas valide, un statut d'erreur 403 (Interdit) est envoyé.

Et c'est tout ce dont vous avez besoin pour implémenter l'authentification basée sur JWT dans une API NodeJS !

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

Que faut-il pour implémenter l'authentification basée sur JWT dans une API NodeJS ?

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

Vous avez raté! Essayer à nouveau.

Chapitre suivant

Validation des données avec le package Joi

Arrow Right Icon
Téléchargez l'application pour obtenir une certification gratuite et écouter des cours en arrière-plan, même avec l'écran éteint.