0% ont trouvé ce document utile (0 vote)
5 vues21 pages

Cours

Le document traite du système d'authentification côté client, expliquant comment il vérifie l'identité des utilisateurs via des informations confidentielles comme un nom d'utilisateur et un mot de passe. Il décrit également le rôle de la base de données pour stocker les informations utilisateur, le processus de hachage des mots de passe, et l'utilisation de sessions pour maintenir l'état de l'utilisateur. Enfin, il présente les routes principales pour l'inscription, la connexion et la déconnexion, ainsi que la gestion des cookies de session pour sécuriser l'accès aux pages protégées.

Transféré par

trkrayan06
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues21 pages

Cours

Le document traite du système d'authentification côté client, expliquant comment il vérifie l'identité des utilisateurs via des informations confidentielles comme un nom d'utilisateur et un mot de passe. Il décrit également le rôle de la base de données pour stocker les informations utilisateur, le processus de hachage des mots de passe, et l'utilisation de sessions pour maintenir l'état de l'utilisateur. Enfin, il présente les routes principales pour l'inscription, la connexion et la déconnexion, ainsi que la gestion des cookies de session pour sécuriser l'accès aux pages protégées.

Transféré par

trkrayan06
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Système d’authentification Authentification côté client Laboratoire 10 Page 01

Introduction à la
programmation de serveurs
Web
Suivant

AUTOMNE 2025 - Professeur : OUMLAZ MAROUA


Système d’authentification Authentification côté client Laboratoire 10 Page 02

L’authentification

L’authentification désigne le processus par lequel un système vérifie l’identité d’un utilisateur.

Elle permet de confirmer qu’une personne est bien celle qu’elle prétend être.

Elle repose généralement sur la fourniture d’informations confidentielles, telles qu’un nom

d’utilisateur et un mot de passe.

Une fois l’identité confirmée, le serveur doit maintenir l’état de l’utilisateur au cours de sa

navigation.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Rôle de la base dans l’authentification

Stocke les informations essentielles d’un utilisateur : email, nom, mot de passe sécurisé.

Le mot de passe est enregistré sous forme de hash.

Permet de vérifier l’existence de l’utilisateur lors de la connexion.

Sert à comparer le mot de passe saisi avec le hash enregistré.

Détecte les erreurs : compte inexistant, email déjà utilisé, mot de passe incorrect.

Exemple :

À l’inscription : le mot de passe est haché puis enregistré dans la table users.

À la connexion : la base renvoie le hash pour valider le mot de passe fourni.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Création de la table users

Contient les informations nécessaires à l’authentification.

Champs essentiels :

id : identifiant unique

nom : nom de l’utilisateur

email : adresse unique

password_hash : mot de passe sécurisé

date_inscription : horodatage de création


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Création de la table users


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Hashage des mots de passe (bcrypt)

Le mot de passe n’est jamais stocké en clair dans la base.

bcrypt transforme le mot de passe en hash sécurisé.

Le hash est impossible à reconvertir en texte d’origine.

Lors de la connexion, [Link]() vérifie que le mot de passe saisi correspond au hash

enregistré.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Vérification des identifiants dans la base


Le serveur recherche l’utilisateur à partir de l’email fourni.

Si l’email n’existe pas : la connexion est refusée.

Si l’email existe : récupération du hash stocké.

[Link]() vérifie si le mot de passe saisi correspond au hash enregistré.

Si la vérification réussit : l’utilisateur est authentifié.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Principe d’un système d’authentification côté


serveur
Le serveur reçoit les identifiants transmis par un formulaire (email + mot de passe).

Il vérifie l’existence de l’utilisateur dans la base de données.

Il compare le mot de passe saisi avec le hash enregistré.

Si la vérification réussit, le serveur crée une session pour l’utilisateur.

Un cookie de session est envoyé au navigateur pour maintenir l’accès.

À chaque nouvelle page, le serveur reconnaît l’utilisateur grâce à ce cookie.

Les pages protégées ne sont accessibles que si la session est active.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Utilisation des sessions pour maintenir l’état de


l’utilisateur

Après une connexion réussie, le serveur crée une session pour l’utilisateur.

Cette session contient des informations utiles (ex. : userId, email).

Le serveur envoie au navigateur un cookie de session contenant un identifiant unique.

À chaque requête, le navigateur renvoie automatiquement ce cookie.

Le serveur utilise cet identifiant pour retrouver la session et reconnaître l’utilisateur.

Grâce à cela, l’utilisateur reste connecté d’une page à l’autre sans ressaisir ses identifiants.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Routes principales : /register, /login, /logout


/register

Affiche le formulaire d’inscription.

Reçoit les données, hache le mot de passe et crée un nouvel utilisateur.

/login

Affiche le formulaire de connexion.

Vérifie les identifiants et crée une session si la connexion réussit.

/logout

Supprime la session active.

Redirige l’utilisateur vers la page de connexion ou d’accueil.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Routes principales : /register, /login, /logout


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Vérification du mot de passe et création d’une


session

Le serveur récupère l’utilisateur en base grâce à l’email.

Il compare le mot de passe saisi avec le hash enregistré (via [Link]).

Si la vérification réussit, une session est créée pour identifier l’utilisateur.

Les informations utiles (ex. : userId, email) sont stockées dans la session.

Le navigateur reçoit automatiquement un cookie de session permettant de rester connecté.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Vérification du mot de passe et création d’une


session
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Middleware pour protéger les routes


Vérifie si l’utilisateur possède une session active.

Empêche l’accès aux pages protégées pour les utilisateurs non connectés.

Redirige automatiquement vers la page de connexion si aucune session n’est trouvée.

S’assure que seules les personnes authentifiées accèdent aux zones privées du site.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Formulaires EJS : inscription et connexion


Les formulaires sont générés avec EJS et envoyés au serveur via POST.

Aucun JavaScript côté client : le navigateur envoie directement les données.

Le formulaire d’inscription collecte les informations pour créer un nouvel utilisateur.

Le formulaire de connexion transmet l’email et le mot de passe pour authentification.


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Formulaires EJS : inscription et connexion


Système d’authentification Authentification côté client Laboratoire 10 Page 02

Envoi des données via POST vers le serveur


Les formulaires EJS utilisent la méthode POST pour transmettre les informations de manière

sécurisée.

Les données envoyées (email, nom, mot de passe…) sont accessibles dans [Link].

Le serveur traite ces valeurs : inscription, vérification des identifiants, création de session.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Gestion du cookie de session côté client


Après la connexion, le serveur envoie au navigateur un cookie de session.

Ce cookie contient uniquement un identifiant unique de session.

Le navigateur le stocke automatiquement et le renvoie à chaque requête.

Aucune action n’est nécessaire côté client : pas de JavaScript, pas de stockage manuel.

Grâce à ce cookie, le serveur reconnaît l’utilisateur sur toutes les pages.

Exemple :

Connexion → le serveur crée une session → il envoie [Link]=XYZ123


Le navigateur renvoie ce cookie à chaque page → l’utilisateur reste connecté.
Système d’authentification Authentification côté client Laboratoire 10 Page 02

Accès à une page protégée après connexion


Les pages sensibles (ex. : tableau de bord, profil) sont accessibles uniquement si l’utilisateur est

authentifié.

Le serveur vérifie la présence d’une session active avant d’autoriser l’accès.

Si la session est absente, l’utilisateur est automatiquement redirigé vers /login.

Ce mécanisme garantit la sécurité des zones réservées.


Système d’authentification Authentification côté client Laboratoire 10 Page 24

Laboratoire 10

Consultez le fichier du laboratoire dans la Semaine 11 sur la plateforme.


Session : principe et fonctionnement Implémentation et gestion dans Laboratoire 9 Page 25
dans le Web [Link]

MERCI
Pour toute question, veuillez me contacter à l’adresse
suivante : MOumla@[Link]

Vous aimerez peut-être aussi