From 012f8e94d88310ac74806727de56617840ea84e3 Mon Sep 17 00:00:00 2001 From: hawkspar <quentin.chevalier@polytechnique.edu> Date: Sat, 6 Oct 2018 12:44:44 +0200 Subject: [PATCH] bcrypt fix --- src/graphql/connectors/authentifiers.js | 4 ++-- src/ldap/admins.js | 21 +++++++-------------- src/ldap/users.js | 6 +++--- src/ldap/utilities.js | 2 +- 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/src/graphql/connectors/authentifiers.js b/src/graphql/connectors/authentifiers.js index 5e913bc..e723ce2 100644 --- a/src/graphql/connectors/authentifiers.js +++ b/src/graphql/connectors/authentifiers.js @@ -7,8 +7,8 @@ import knex from '../../../db/knex_router'; import * as connectors from './connectors.js'; import * as selectors from './selectors'; import * as list_selectors from './list_selectors'; -import {Open, User as LDAPOpen, LDAPUser} from '../../ldap/users.js'; -import {Admin, SuperAdmin as LDAPAdmin, LDAPSuperAdmin} from '../../ldap/admins.js'; +import {Open as LDAPOpen, User as LDAPUser} from '../../ldap/users.js'; +import {Admin as LDAPAdmin, SuperAdmin as LDAPSuperAdmin} from '../../ldap/admins.js'; function User(user, ldap_access){ diff --git a/src/ldap/admins.js b/src/ldap/admins.js index 4f92825..37c906e 100644 --- a/src/ldap/admins.js +++ b/src/ldap/admins.js @@ -4,12 +4,11 @@ * @author hawkspar */ -import LDAP from './basics'; -import Tests from './utilities'; -import User from './users'; +import LDAP from './basics.js'; +import Tests from './utilities.js'; +import User from './users.js'; // Essentiels pour le fichier de config import path from 'path'; -import bcrypt from 'bcrypt'; import fs from 'fs'; // Point central ; tous les champs de la BDD sont 'cachés' dans config.json et pas visibles directement @@ -276,7 +275,7 @@ class SuperAdmin extends Admin { * @arg {string} data[lastName] - Nom * @arg {string} data[nickname] [] - Surnom * @arg {string} data[birthdate] - Date d'anniversaire au format annee-mois-jour - * @arg {string} data[password] - Mot de passe + * @arg {string} data[password] - Mot de passe (doit être généré en amont) * @arg {string} data[promotion] - Simple année d'entrée école (pas d'X) * @arg {string} data[mail] - Courriel supposé valide * @arg {string} data[phone] - String du numéro de portable @@ -329,15 +328,9 @@ class SuperAdmin extends Admin { // Création d'un nom complet lisible vals3[config.user['fullName']]=data['givenName']+' '+data['lastName'].toUpperCase(); - try { - // Génération d'un hash péchu avec 10 itérations de salt - bcrypt.hash(data['password'], 10, (err, hash) => { - vals3[config.user['password']] = "{CRYPT}"+hash; - }); - } - catch(err) { - throw "Erreur lors de la génération d'un mot de passe aléatoire pour le nouvel utilisateur."; - } + // Configuration du mot de passe utilisateur + // Le préfixe {CRYPT} signifie que le mdp est hashé dans OpenLDAP voir : https://www.openldap.org/doc/admin24/security.html + vals3[config.user['password']] = "{CRYPT}"+data['password']; // Ecriture d'un surnom s'il y a lieu if ((data['nickname']!=undefined) && (data['nickname']!='')) { diff --git a/src/ldap/users.js b/src/ldap/users.js index 017065a..7dde95a 100644 --- a/src/ldap/users.js +++ b/src/ldap/users.js @@ -4,9 +4,9 @@ * @author hawkspar */ -import LDAP from './basics'; -import {SmartSearch, Tests} from './utilities'; -import {Admin, SuperAdmin} from './admins'; +import LDAP from './basics.js'; +import {SmartSearch, Tests} from './utilities.js'; +import {Admin, SuperAdmin} from './admins.js'; // Essentiels pour le fichier de config import path from 'path'; import fs from 'fs'; diff --git a/src/ldap/utilities.js b/src/ldap/utilities.js index 2c1e303..af47db1 100644 --- a/src/ldap/utilities.js +++ b/src/ldap/utilities.js @@ -4,7 +4,7 @@ * @author hawkspar */ -import LDAP from './basics'; +import LDAP from './basics.js'; // Essentiels pour le fichier de config import path from 'path'; import fs from 'fs'; -- GitLab