Créer ton premier serveur API avec NestJS (Authentification par JWT) - Tutoriel NestJS

Créer ton premier serveur API avec NestJS (Authentification par JWT) - Tutoriel NestJS

9.623 Lượt nghe
Créer ton premier serveur API avec NestJS (Authentification par JWT) - Tutoriel NestJS
Profitez de -10% aux VPS Hostinger grâce à notre lien affilié : https://www.hostinger.fr/algomax (12 mois d'engagement min) ou utilisez le code promo ALGOMAX Abonnez-vous à la nouvelle chaîne YouTube @algomax-dev https://www.youtube.com/channel/UCXhDSi24vacNyENdOpS0GUQ Développe des serveurs API en Javascript en utilisant ce puissant framework de NodeJS. Grâce à sa configuration par défaut, pas besoin d'ajouter Eslint, Prettier et Typescript. Tout est déjà prêt, tu n'as plus qu'à commencer à coder ! Dans cette vidéo, nous allons découvrir le framework NestJS et implémenter l'authentification des comptes utilisateurs. Repo backend: https://github.com/Varkoff/nestjs-chat-api Repo frontend: https://github.com/Varkoff/nestjs-chat-front Au programme : - Découverte de NestJS (Contrôleurs, Services et Modules) - Création de comptes utilisateurs - Gestion de mot de passe cryptés avec bcrypt - Identification avec les token JWT - Mise en place d'un frontend qui communique avec l'API - Persistance d'une session utilisateur - Retours utilisateurs pour une meilleure UX Tous les épisodes de la série : - Crée ta première API et implémente l'authentification https://youtu.be/Btr55ghpjyI - Ajout de la messagerie en temps réel (websockets) https://youtu.be/bCgkY_308r0 - Hébergement des images dans un bucket S3 https://youtu.be/_G9TTF_0oPg Lien vers la playlist : https://www.youtube.com/playlist?list=PLOyaGE5M4B0gMbZTSS2IsJ-1F5rwMjKnF Sommaire : 00:00 Introduction 00:40 Présentation de NestJS 02:30 Fichiers Services 03:43 Fichiers Contrôleurs 05:47 Fichiers Modules 08:30 Point d'entrée : main.ts 10:50 Création du module utilisateur 15:00 Configurer la base de donnée avec Prisma 16:40 Configurater Planetscale pour héberger notre base de donnée 19:44 Création du modèle Utilisateur 21:15 Création du PrismaService 22:30 Récupération des utilisateurs en base de donnée 24:45 Récupérer un paramètre d'URL avec le décorateur @Param() 25:50 Authentification des utilisateurs 27:10 Récupérer le body d'une requête avec le décorateur @Body() 28:30 Connexion d'un utilisateur existant 30:46 Créer des mots de passe cryptés avec bcrypt.js 34:40 Comparer le mot de passe crypté et le mot de passe en clair 36:40 Identifier un utilisateur avec les JWT (et garder la session active) 01:00:40 Création de comptes utilisateurs 01:03:40 Création d'un frontend pour communiquer avec notre API 01:11:25 Validation des données côté serveur grâce aux DTOs (avec Class-Validator) 01:19:39 Garder une session active côté front (avec Remix) 01:23:30 Récupérer la session de l'utilisateur connecté 01:24:30 Connecter notre utilisateur avec la session créée 01:29:40 Récupérer les informations de l'utilisateur connecté par API avec la session 01:32:45 hook useOptionalUser() 01:36:06 Déconnecter l'utilisateur (en détruisant la session) 01:38:36 Affichage conditionnel de notre page d'accueil 01:39:10 Formulaire d'inscription 01:41:40 Affichage des messages d'erreur (UX) 01:44:10 Afficher les messages d'erreur côté front 01:46:40 Feature : Se déconnecter 01:48:00 Refactoriser le hook useOptionalUser() 01:52:00 Valider les données avec Zod & messages d'erreur de formulaires (UX) 01:58:35 Envoi d'emails transactionnels avec Resend 02:00:20 ✉️ MailerService 02:05:00 Réinitialiser le mot de passe oublié par lien Stack technique : - NestJS - Typescript - Prisma ORM https://www.prisma.io/?via=algomax - base de donnée Mysql hébergée chez Planetscale - React avec Remix pour le front - VPS Hostinger https://hostinger.com/algomax Blog personnel : https://varkoff.fr Je partage tout sur twitter ! : https://twitter.com/Varkoffs LinkedIn : https://www.linkedin.com/in/virgile-rietsch