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 |