Commit 06a1c6a4 authored by Romain OZDEN's avatar Romain OZDEN

Authentification marche à peu près mais on ne peut plus rien faire un fois connecté

parent 509beb5d
const { create,
getUsers,
getUserById,
updateUser,
deleteUser,
getUserByUsername,
......@@ -28,25 +27,6 @@ module.exports = {
}
});
},
getUserById: (req, res) => {
const id = req.params.id;
getUserById(id, (err, results) => {
if (err) {
console.log(err);
return;
}
if (!results) {
return res.json({
success: 0,
message: 'Record not found'
});
}
return res.json({
success: 1,
data: results
});
});
},
getUsers: (req, res) => {
getUsers((results) => {
return res.json({
......
const { createUser,
getUsers,
getUserById,
updateUser,
deleteUser,
} = require('./user.controller');
......@@ -12,8 +11,11 @@ module.exports = (passport) => {
const router = require('express').Router();
router.post('/add', createUser);
router.get('/', sec.ensureLoggedIn(), getUsers);
router.get('/:id', getUserById);
router.get('/getusers', sec.ensureLoggedIn(), getUsers);
router.get('/currentuser', (req, res) => {
console.log('req_user=',req.user);
res.send('bite');
});
router.patch('/', updateUser);
router.delete('/', deleteUser);
router.post('/login', (req,res,next) => {
......
......@@ -43,18 +43,6 @@ module.exports = {
}
);
},
getUserById : (id, callBack) => {
allah.exec(
`select id, nom, prenom, username, password, email from utilisateur where id = ?`,
[id],
(error, results, fields) => {
if (error) {
callBack(error);
}
return callBack(null, results[0]);
}
)
},
updateUser: (data, callBack) => {
allah.exec(
`update utilisateur set nom=?, prenom=?, username=?, password=?, email=? where id = ?`,
......@@ -92,7 +80,7 @@ module.exports = {
`select * from Utilisateur where username = ?`,
[username],
(res) => {
return callBack(res[0].username);
return callBack(res[0]);
}
);
}
......
......@@ -3,6 +3,8 @@
const {getUserByUsername} = require('../api/users/user.service');
const { compareSync } = require('bcrypt');
// Ce module permet de gérer l'authentification avec la librairie passportjs
// Il dépend également du module dbHelper puisque les informations de nos
// utilisateurs sont stockées dans la base de données
......@@ -17,11 +19,12 @@ passport.use(new LocalStrategy(
// On récupère les information (mot de passe) de l'utilisateur
// passé en paramètre
getUserByUsername(username, (user) => {
console.log('user.password = '+ user.password + ', password = ' + password );
if (!user) {
cb(null, false);
}
// Utilisateur dans la base de données et mot de passe ok
else if (user.password === password) {
else if (compareSync(password, user.password)) {
cb(null, user);
}
// Utilisateur dans la base de données mais mauvais mot de passe
......@@ -35,13 +38,12 @@ passport.use(new LocalStrategy(
// Stocke les données de l'utilisation dans le cookie de session
passport.serializeUser(function (user, cb) {
console.debug('serializeUser ', JSON.stringify(user));
cb(null, user.id);
cb(null, user.user_id);
});
// Récupère les données de l'utilisateur depuis le cookie de session
passport.deserializeUser(function (id, cb) {
console.debug('deserializeUser ' + id);
});
// Puisque c'est un module, on export au moins une fonction
......
......@@ -22,7 +22,7 @@ const templates = (() => {
.then(res => res.text())
.then(text => {
return templates[url] = text;
})
});
}
}
})();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment