Maison > interface Web > js tutoriel > Authentification du site dans Node.js: inscription et connexion de l'utilisateur

Authentification du site dans Node.js: inscription et connexion de l'utilisateur

William Shakespeare
Libérer: 2025-03-10 00:20:15
original
510 Les gens l'ont consulté

Ce didacticiel démontre la création d'un système d'enregistrement et de connexion des utilisateurs dans une application Web Node.js. Nous couvrirons la validation des entrées et le hachage du mot de passe pour une sécurité améliorée.

Configuration de l'application

Commencez par créer un répertoire de projet (par exemple, "Site-Auth"). Initialiser NPM dans ce répertoire:

npm init -y
Copier après la connexion

La validation du mot de passe utilise une expression régulière /^[a-zA-Z0-9]{6,30}$/, appliquant 6 à 30 caractères composés de caractères alphanumériques.

Les données du formulaire d'enregistrement sont accessibles via result. Les erreurs de validation entraînent un message d'erreur et une redirection vers la page d'enregistrement. Les adresses e-mail en double sont également empêchées. Surtout, les mots de passe sont hachés à l'aide de BCrypt avant le stockage de la base de données:

result.value.password = hash
Copier après la connexion

L'enregistrement réussi affiche un message de réussite et redirige vers la page de connexion. Démarrez le serveur avec:

node app.js
Copier après la connexion

Accédez à la page d'inscription à https://localhost:5000.

Site Authentication in Node.js: User Signup and Login

Implémentation de connexion

La fonctionnalité de connexion est ajoutée à /routes/users.js. Un schéma de validation de connexion est défini à l'aide de JOI:

const loginSchema = Joi.object().keys({
  email: Joi.string().email().required(),
  password: Joi.string().regex(/^[a-zA-Z0-9]{6,30}$/).required()
});
Copier après la connexion

L'itinéraire de connexion gère les deux demandes (de rendu de la page de connexion) et de publication (Traitement des tentatives de connexion):

router.route('/login')
  .get((req, res) => {
    res.render('login')
  })
  .post(async (req, res, next) => {
    // ... (login validation and password comparison logic) ...
  });
Copier après la connexion

Redirection de connexion réussie vers un tableau de bord.

Site Authentication in Node.js: User Signup and Login Site Authentication in Node.js: User Signup and Login Site Authentication in Node.js: User Signup and Login

Implémentation du tableau de bord

Une simple route de tableau de bord est ajoutée à /routes/index.js:

router.get('/users/dashboard', (req, res) => {
    res.render('dashboard')
});
Copier après la connexion

Site Authentication in Node.js: User Signup and Login

Conclusion

Ce tutoriel fournit une base pour l'authentification sécurisée des utilisateurs dans les applications Node.js. N'oubliez pas de toujours valider l'entrée de l'utilisateur et les mots de passe en toute sécurité. Le code source complet est disponible sur GitHub. Ce tutoriel a été mis à jour avec les contributions de Mary Okosun, un développeur de logiciels basé à Lagos, au Nigéria.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal