|
| 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 | + |
| 13 | + |
| 14 | + |
| 15 | +## Politique de mot de passe : |
| 16 | + |
| 17 | +Cliquez sur le menu "Politique de mot de passe " : |
| 18 | + |
| 19 | + |
| 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 | + |
| 30 | +* Entropie entre le minimal et le seuil bon : |
| 31 | + |
| 32 | + |
| 33 | +* Entropie au dessus du seuil du bon : |
| 34 | + |
| 35 | + |
| 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 | + |
| 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