Skip to content

Commit 3559f0b

Browse files
committed
update de la doc
1 parent 8f421e0 commit 3559f0b

File tree

12 files changed

+242
-4
lines changed

12 files changed

+242
-4
lines changed

docs/.DS_Store

0 Bytes
Binary file not shown.

docs/.vuepress/config.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ theme: defaultTheme({
2424
children: [
2525
'installation-server',
2626
'installation-daemon',
27-
'installation-taiga'
27+
'installation-taiga',
28+
'gestion-mdp'
2829
],
2930
},{
3031
text: 'Configuration',
@@ -33,15 +34,16 @@ theme: defaultTheme({
3334
'architecture',
3435
'data',
3536
'validation',
36-
'formulaire'
37+
'formulaire',
38+
'config-gestion-mdp'
3739
]
3840
},
3941
{
4042
text: 'Importation',
4143
prefix: '/import',
4244
children: [
4345
'configuration',
44-
'configyml'
46+
'configyml',
4547
'importtaiga'
4648
]
4749
}

docs/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ Sesame est un gestionnaire d'identité. Il permet de créer les identités sur l
88

99
* **Sesame-Orchestrateur** : veritablement le coeur de sesame. Il gère les differentes identités, les stocke et gère leur cycle de vie. Il transmettra les ordres aux sesame-daemon qui se chargera d'executer les bonnes commandes sur les differents serveurs
1010

11-
* **Sesame-app-manager** : c'est l inteface d'administration pour Sesame.
11+
* **Sesame-app-manager** : c'est l interface d'administration pour Sesame.
1212

1313
* **Sesame-daemon** : Il transmet les differents ordres de l'orchestrateur aux differents backends
1414

1515
* **Sesame-Backends** : Snippets qui peuvent être écrits dans differents language et qui executent une tâche précise
1616
* **Sesame-crawler** : Importateur de données vers Sesame
17+
* **Sesame-gestion-mdp** : Frontal de gestion du mot de passe pour les utilisateurs
1718

1819
## Un exemple
1920

89.2 KB
Loading
2.24 KB
Loading
41.3 KB
Loading
3.96 KB
Loading
1.36 KB
Loading
1.34 KB
Loading
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
lang: en-US
3+
title: Configuration de la politique de mot de passe
4+
description: Configuration de la politique de mot de passe
5+
---
6+
# Configuration de gestion des mots de passe
7+
8+
Toute la configuration de la gestion des mots de passe se fait dans l'interface de Sesame
9+
10+
Pour y acceder depuis l'interface de Sesame :
11+
12+
![](.config-gestion-mdp_images/59f4a9e2.png)
13+
14+
15+
## Politique de mot de passe :
16+
17+
Cliquez sur le menu "Politique de mot de passe " :
18+
19+
![](.config-gestion-mdp_images/5060f9da.png)
20+
21+
### Les differents paramètres de composition du mot de passe
22+
* Longueur minimale : Le mot de passe devra au moins avoir cette longueur
23+
* Entropie minimale : Le mot de passe devra au moins avoir ce score voir [Entropie de Shannon](https://fr.wikipedia.org/wiki/Entropie_de_Shannon)
24+
* Entropie considéré comme bonne : A partir de ce nombre nombre l'entropie du mot de passe est considérée comme bonne
25+
26+
Ces deux limites sont representé dans l'interface de changement de mot de passe par une barre de progression
27+
* Entropie en dessous sdu minimal :
28+
29+
![](.config-gestion-mdp_images/27b2c6b2.png)
30+
* Entropie entre le minimal et le seuil bon :
31+
32+
![](.config-gestion-mdp_images/65419e95.png)
33+
* Entropie au dessus du seuil du bon :
34+
35+
![](.config-gestion-mdp_images/c11eea52.png)
36+
37+
* Caractères obligatoires : Vous pouvez régler quels caractères obligatoires doit comporter le nouveau mot de passe
38+
* Vérifier si le mot de passe est connu avec haveibeenpwned (voir [https://haveibeenpwned.com/](https://haveibeenpwned.com/)). Si le mot de passe est connu l'utilisateur ne pourra pas l'utiliser
39+
40+
* Réinitialisez par SMS : L'utilisateur aura le choix de recevoir son code de réinitialisation par mail ou par SMS
41+
### Les paramêtres d'envoi
42+
#### Initialisation du mot de passe
43+
L'utilisateur recevra un lien pour activer son compte et définir son mot de passe. Cet email est envoyé sur l'adresse mail definie dans l'attribut paramétré
44+
dans **Attribut de l'identité contenant le mail alternatif**
45+
46+
Ex: *additionalFields.attributes.supannPerson.supannAutreMail*
47+
48+
Le lien envoyé est valide pendant une durée de temps determinée présent dans le paramètre **Temps de vie du mail d'initialisation** Ce temps est exprimé en secondes
49+
50+
### Reset du mot de passe
51+
Un code à 6 chiffres sera envoyé soit par mail, soit par SMS si celui-ci est activé (pour l'envoi SMS le serveur SMS devra être configuré)
52+
53+
Le temps de validité de ce paramêtre est à definir dans le champs : **Temps de vie du code de reinitialisation** (en secondes aussi)
54+
55+
Si le changement de mot de passe a été fait l'utilisateur sera redirigé vers le site présent dans le paramêtre **Url de redirection après un changement de mot de passe
56+
# Configuration au niveau de sesame-orchestrator
57+
## Paramêtres pour l'envoi du mail de validation du compte
58+
Dans .env il faut ajouter une variable pour la composition du lien à cliquer :
59+
```
60+
SESAME_FRONT_MDP="https://monsite.dechanegementdemotdepasse.com"
61+
```
62+
Vous devez redemarrer Sesame-oechstrateur après cette modification
63+
64+
## Modèle des mails
65+
Vous pouvez genérer votre propre modèle de mail. Voici les étapes à faire pour mettre à jour votre docker-compose.yml. Si l'installation est nouvelle vous pouvez sauter cette étape
66+
* Créer dans configs/orchestrator un repertoire mail-templates
67+
* Modifier docker-compose pour monter ce répertoire :
68+
69+
Dans le paragraphe volumes de sesame-orchestrator
70+
```yaml
71+
- ./configs/sesame-orchestrator/mail-templates:/data/templates
72+
```
73+
* Copier les deux modèles dans le repertoire ./configs/sesame-orchestrator/mail-templates
74+
```shell
75+
cd ./configs/sesame-orchestrator/mail-templates
76+
curl -L 'https://raw.githubusercontent.com/Libertech-FR/sesame-orchestrator/main/templates/initaccount.hbs' --output initaccount.hbs
77+
curl -L "https://raw.githubusercontent.com/Libertech-FR/sesame-orchestrator/main/templates/resetaccount.hbs" --output resetaccount.hbs
78+
```
79+
## Faire son modèle de mail
80+
Les élements variables liés à l'identité sont entre double crochet '\{ \{ variable \} \}'
81+
82+
* Pour l'initialisation du compte les variables sont :
83+
* \{ \{ uid \} \} L'uid de l'identité
84+
* \{ \{ url \} \} L'url pour l'activation du compte
85+
* Pour la reinitialisation du compte les variables sont :
86+
* \{ \{ displayname \} \}
87+
* \{ \{ uid \} \}
88+
* \{ \{ code \} \}
89+
90+
### Pour composer son mail de façon graphique
91+
Vous pouvez vous servir de mjml : [https://mjml.io/](https://mjml.io/). Ce site propose un éditeur en ligne [https://mjml.io/try-it-live](https://mjml.io/try-it-live) et de nombreux modèles
92+
![](.config-gestion-mdp_images/084e8a86.png)
93+
94+
Une fois le modèle composé sauvez le en html (bouton en haut "view-html") et copiez le contenu html dans le fichier
95+
* ./configs/sesame-orchestrator/mail-templates/initaccount.hbs (pour le mail de validation du compte )
96+
* ./configs/sesame-orchestrator/mail-templates/resetaccount.hbs (pour une demande de reinitialisation du mot de passe )
97+
98+
Exemple de fichier mjml :
99+
```
100+
<mjml>
101+
<mj-body>
102+
<mj-section>
103+
<mj-column>
104+
<mj-divider border-color="#F45E43"></mj-divider>
105+
<mj-text font-size="20px" color="#F45E43" font-family="helvetica">bonjour {{ displayname }} votre compte a été créé. Votre login est {{ uid }}</mj-text>
106+
</mj-column>
107+
</mj-section>
108+
<mj-section>
109+
<mj-button href="{{ url }}" background-color="#F45E43" href="#">ACTIVEZ MON COMPTE</mj-button>
110+
</mj-section>
111+
</mj-body>
112+
</mjml>
113+
```
114+
Vous devez relancer les containers
115+
116+
### Test de l'envoi
117+
Pour faire les tests de mails sans reel envoi vous pouvez creer un container maildev
118+
119+
Voici un docker-compose tout pret :
120+
121+
copiez le dans un repertoire (/data/maildev par exemple) puis lancer **docker compose up -d**
122+
```yaml
123+
services:
124+
maildev:
125+
restart: always
126+
image: maildev/maildev
127+
container_name: maildev.local
128+
ports:
129+
- "1080:1080"
130+
networks:
131+
- sesame
132+
networks:
133+
sesame:
134+
external: true
135+
```
136+
137+
L'url à mettre dans l'interface de sesame dans serveur SMTP est : http://maildev.local:1025
138+
139+
Vous pourrez consulter les mails envoyés en vous connectant sur votre serveur *http://monserveur:1080*

0 commit comments

Comments
 (0)