Go to file
Sébastien NOBILI e340e8f57e Objectif du TP
2016-11-01 14:31:53 +01:00
public Structure de base 2016-11-01 13:56:23 +01:00
db.sqlite Objectif du TP 2016-11-01 14:31:53 +01:00
LICENSE Structure de base 2016-11-01 13:56:23 +01:00
package.json Objectif du TP 2016-11-01 14:31:53 +01:00
README.md Objectif du TP 2016-11-01 14:31:53 +01:00
server.js Objectif du TP 2016-11-01 14:31:53 +01:00

TP3 de programmation Web

Mise en route

Installation des dépendances :

npm install

Lancement du serveur :

node server.js

Le serveur est alors accessible à ladresse http://localhost:1234

La liste des utilisateurs est accessible à ladresse http://localhost:1234/users

Objectif

Création dun formulaire dauthentification

  • Créer un formulaire HTML permettant à lutilisateur de sauthentifier (identifiant/mot de passe),
  • poster les données dauthentification à ladresse « http://localhost:1234/login »,
  • vérifier quon obtient une réponse « TODO ».

Vérification de lidentifiant et du mot de passe de lutilisateur

  • Modifier le code du serveur traitant les requêtes « POST » sur « /login »,
  • insérer une requête SQL de vérification des données dauthentification,
  • retourner un bloc de données au format JSON indiquant létat de lauthentification :
{
	status: (true|false)
}

Génération dune clé de session

  • Modifier le code du serveur traitant les requêtes « POST » sur « /login »,
  • si lutilisateur a été correctement authentifié, alors créer un enregistrement dans la table « sessions » (la valeur du champ « token » devra être unique),
  • retourner cette clé de session dans le bloc de données JSON précédent :
{
	status: (true|false),
	token: <valeur-token>
}
  • Modifier le code du serveur traitant les requêtes « POST » sur « /login »,
  • si lutilisateur a été correctement authentifié, alors renvoyer la clé de session sous forme dun cookie.

Licence

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.