Project

General

Profile

Create user in HCW@Home » History » Version 1

Olivier Bitsch, 06/21/2023 02:19 PM

1 1 Olivier Bitsch
# Create user in HCW@Home
2
3
Bien que l'authentification SAML est en place, il est nécessaire de déclarer les compte médecins afin que ceux-ci puissent se connecter sur la plateforme.
4
5
Il faut se connecter sur le serveur en tant que `root` puis taper la commande `mongo` afin de se trouver sur la console de MongoDB.
6
7
## Voir la liste des compte
8
9
    use hug-home
10
    db.user.find({role:"doctor"})
11
12
## Ajouter un compte avec SAML
13
14
    use hug-home
15
    db.user.insertOne({email:"Prénom.Nom@hcuge.ch",  firstName:"Prénom", lastName:"NOM",  role: "doctor",  createdAt: new Date().getTime(), "updatedAt": new Date().getTime(), "username" : "", phoneNumber: "+41..."})
16
17
> Attention, il doit y avoir les masjuscules dans l'email de la personne, car l'authentification est sensible à la casse.
18
19
## Ajouter un compte avec mot de passe
20
21
Avant de pouvoir insérer une entrée, il faut encoder le mot de passe à l'air de bcrypt.
22
23
* Installer les dépendances nodejs dans un dossier temporaire avec : `npm i bcrypt`
24
25
* Créer un fichier avec le contenu suivant (remplacer **not hashed password** par un mot de passe robuste) :
26
27
~~~ text
28
const bcrypt = require('bcrypt');
29
30
bcrypt.hash('not hashed password', 10, function(err, hash) {
31
  if(err) console.log(err)
32
  console.log(hash);
33
});
34
~~~
35
36
* Lancer la commande `nodejs <nom du fichier>.js`
37
* Se connecter sur MongoDB avec la commande `mongo` et lancer la commande suivante (remplacer la **hashed password** par la chaine obtenue précédemment).
38
39
~~~
40
use hug-home
41
db.user.insertOne({email:"Prénom.Nom@hcuge.ch",  firstName:"Prénom", lastName:"NOM",  role: "doctor",  createdAt: new Date().getTime(), password: "hashed password", "updatedAt": new Date().getTime(), "username" : "", phoneNumber: "+41..."})
42
~~~
43
44
## Supprimer un compte
45
46
    use hug-home
47
    db.user.deleteOne({"email" : "Prénom.Nom@hcuge.ch"})
48
49
## Modifier un compte (par exemple ajouter un numéro de téléphone)
50
51
    use hug-home
52
    db.user.update({role:"doctor", email:"Prénom.Nom@hcuge.ch"}, { $set :{email:"Prénom.Nom@hcuge.ch",  firstName:"Prénom", lastName:"NOM",  role: "doctor", "updatedAt": new Date().getTime(), "username" : "", phoneNumber: "+41..."}})
53
54
# Ajouter / Supprimer des comptes Hug@Home avec l'authentification par mot de passe