diff --git a/src/graphql/connectors/authentifiers.js b/src/graphql/connectors/authentifiers.js index 5e913bc0e63c15ad9696847df69626efa6004013..e723ce21c365a960fbb963a1881894d42afa4027 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 4f92825118dc66d129a9785c26c5b0302418aa5a..37c906e0ceabfdaa2d926a2508d10375215013fc 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 017065af1a2a8b1a1ebf907269bed4525798f1eb..7dde95ac96983a52f6e7eb896ba878630df57528 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 2c1e303cd406ccfaf6ecd33082535a786fb8e95d..af47db1c0051d5c0f465556813437eb50dbf5b86 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';