add auth-service not verified with Dockerfile
This commit is contained in:
parent
3a7389ba68
commit
8cf6520224
12 changed files with 304 additions and 0 deletions
44
backend/service-authentication/auth.js
Normal file
44
backend/service-authentication/auth.js
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
const sessionJwt = require ('./sessionJWT');
|
||||
const queries = require('./mongodbQueries');
|
||||
|
||||
// ici, on récupère le contenu du cookie de session JWT.
|
||||
// celui-ci contient le userId mais également des informations
|
||||
// concernant sa date d'expiration.
|
||||
function getSession (req) {
|
||||
return sessionJwt.decodeSessionCookie(req);
|
||||
}
|
||||
module.exports.getSession = getSession;
|
||||
|
||||
// cette fonction ajoute le cookie de session au headers du
|
||||
// message qui sera renvoyé à Angular. Si le cookie actuel
|
||||
// est "vieux", on en recrée ici un nouveau.
|
||||
function setSessionCookie (req, res, session) {
|
||||
sessionJwt.createSessionCookie(req, res, session);
|
||||
}
|
||||
module.exports.setSessionCookie = setSessionCookie;
|
||||
|
||||
// fonction pour récupérer le userId provenant du cookie
|
||||
// de session. Si ce dernier n'existe pas, on renvoie
|
||||
// l'ID -1.
|
||||
function getUserId(session) {
|
||||
if (typeof session.userId === 'undefined') return -1;
|
||||
return session.userId;
|
||||
}
|
||||
module.exports.getUserId = getUserId;
|
||||
|
||||
async function authenticate(req, res) {
|
||||
const login = req.body.login;
|
||||
const password = req.body.password;
|
||||
|
||||
const userList = await queries.checkLoginQuery(login, password);
|
||||
if (userList !== undefined && userList[0] !== undefined && userList[0].idUtilisateur > 0){
|
||||
setSessionCookie (req, res, { userId: userList[0].idUtilisateur });
|
||||
// return userList[0].idUtilisateur;
|
||||
return getUserId(getSession(req));
|
||||
} else {
|
||||
setSessionCookie (req, res, {userId: -1});
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
module.exports.authenticate = authenticate;
|
||||
Reference in a new issue