Sesame
  • Introduction
  • Installation

    • Installation rapide
    • Installation sesame-daemon
    • Installation import Taiga
    • Installation du frontal de gestion du mot de passe
    • Architecture de sécurité
  • Configuration

    • Architecture
    • Principe
    • Validation et description des données
    • Formulaire
    • Configuration de la politique de mot de passe
      • Politique de mot de passe :
        • Les differents paramètres de composition du mot de passe
        • Les paramêtres d'envoi
        • Reset du mot de passe
      • Paramêtres pour l'envoi du mail de validation du compte
      • Modèle des mails
      • Faire son modèle de mail
        • Pour composer son mail de façon graphique
        • Test de l'envoi
  • Importation

    • Import des données
    • Configuration de l'import
    • Import depuis taiga
  • Backends

    • Introduction
    • Librairie d'aide Python
    • Backend AD
    • Backend LDAP
  • Utilisation de l'API

    • Les filtres de recherches pour l'API
    • récupération de la photo d'une identité
    • Exemples d'utilisation de l'API Sesame
  • Personalisation de l'UI

    • Personalisation des tuiles de la page d 'accueil'

Configuration de gestion des mots de passe

Toute la configuration de la gestion des mots de passe se fait dans l'interface de Sesame

Pour y acceder depuis l'interface de Sesame :

Politique de mot de passe :

Cliquez sur le menu "Politique de mot de passe " :

Les differents paramètres de composition du mot de passe

  • Longueur minimale : Le mot de passe devra au moins avoir cette longueur
  • Entropie minimale : Le mot de passe devra au moins avoir ce score voir Entropie de Shannon
  • Entropie considéré comme bonne : A partir de ce nombre nombre l'entropie du mot de passe est considérée comme bonne

Ces deux limites sont representé dans l'interface de changement de mot de passe par une barre de progression

  • Entropie en dessous sdu minimal :

  • Entropie entre le minimal et le seuil bon :

  • Entropie au dessus du seuil du bon :

  • Caractères obligatoires : Vous pouvez régler quels caractères obligatoires doit comporter le nouveau mot de passe

  • Vérifier si le mot de passe est connu avec haveibeenpwned (voir https://haveibeenpwned.com/). Si le mot de passe est connu l'utilisateur ne pourra pas l'utiliser

  • Réinitialisez par SMS : L'utilisateur aura le choix de recevoir son code de réinitialisation par mail ou par SMS

Les paramêtres d'envoi

Initialisation du mot de passe

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é dans Attribut de l'identité contenant le mail alternatif

Ex: additionalFields.attributes.supannPerson.supannAutreMail

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

Reset du mot de passe

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é)

Le temps de validité de ce paramêtre est à definir dans le champs : Temps de vie du code de reinitialisation (en secondes aussi)

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

Configuration au niveau de sesame-orchestrator

Paramêtres pour l'envoi du mail de validation du compte

Dans .env il faut ajouter une variable pour la composition du lien à cliquer :

SESAME_FRONT_MDP="https://monsite.dechanegementdemotdepasse.com"

Vous devez redemarrer Sesame-oechstrateur après cette modification

Modèle des mails

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

  • Créer dans configs/orchestrator un repertoire mail-templates
  • Modifier docker-compose pour monter ce répertoire :

Dans le paragraphe volumes de sesame-orchestrator

    - ./configs/sesame-orchestrator/mail-templates:/data/templates 
  • Copier les deux modèles dans le repertoire ./configs/sesame-orchestrator/mail-templates
cd ./configs/sesame-orchestrator/mail-templates
curl -L 'https://raw.githubusercontent.com/Libertech-FR/sesame-orchestrator/main/templates/initaccount.hbs' --output initaccount.hbs
curl -L "https://raw.githubusercontent.com/Libertech-FR/sesame-orchestrator/main/templates/resetaccount.hbs" --output resetaccount.hbs

Faire son modèle de mail

Les élements variables liés à l'identité sont entre double crochet '{ { variable } }'

  • Pour l'initialisation du compte les variables sont :
    • { { uid } } L'uid de l'identité
    • { { url } } L'url pour l'activation du compte
  • Pour la reinitialisation du compte les variables sont :
    • { { displayName } }
    • { { uid } }
    • { { code } }

Pour composer son mail de façon graphique

Vous pouvez vous servir de mjml : https://mjml.io/. Ce site propose un éditeur en ligne https://mjml.io/try-it-live et de nombreux modèles

Une fois le modèle composé sauvez le en html (bouton en haut "view-html") et copiez le contenu html dans le fichier

  • ./configs/sesame-orchestrator/mail-templates/initaccount.hbs (pour le mail de validation du compte )
  • ./configs/sesame-orchestrator/mail-templates/resetaccount.hbs (pour une demande de reinitialisation du mot de passe )

Exemple de fichier mjml :

<mjml>
  <mj-body>
    <mj-section>
      <mj-column>
        <mj-divider border-color="#F45E43"></mj-divider>
        <mj-text font-size="20px" color="#F45E43" font-family="helvetica">bonjour {{ displayname }} votre compte a été créé. Votre login est {{ uid }}</mj-text>
      </mj-column>
    </mj-section>
    <mj-section>
    <mj-button href="{{ url }}" background-color="#F45E43" href="#">ACTIVEZ MON COMPTE</mj-button>
    </mj-section>
  </mj-body>
</mjml>

Vous devez relancer les containers

Test de l'envoi

Pour faire les tests de mails sans reel envoi vous pouvez creer un container maildev

Voici un docker-compose tout pret :

copiez le dans un repertoire (/data/maildev par exemple) puis lancer docker compose up -d

services:
  maildev:
    restart: always
    image: maildev/maildev
    container_name: maildev.local
    ports:
      - "1080:1080"	
    networks:
      - sesame
networks:
  sesame: 
    external: true      

L'url à mettre dans l'interface de sesame dans serveur SMTP est : smtp://maildev.local:1025

Vous pourrez consulter les mails envoyés en vous connectant sur votre serveur http://monserveur:1080

Last Updated:
Contributors: Alain Abbas
Prev
Formulaire