Ticket #1222

Proposition de code :

http://www.glpi-project.org/forum/viewtopic.php?pid=83668#p83668

Problématique

  • un utilisateur ajouté manuellement avec un email peut ne pas avoir de mot de passe. Ou l'utiliateur a oublié son mot de passe.
    • On souhaite alors qu'il puisse se générer un mot de passe automatiquement et le récupérer sur sa boite mail.
  • Problème : à la création manuelle on ne sait pas quelle méthode d'authentification lui appliquer (il n'est toujours pas connecté)
    • Système de récupération utilisable uniquement si
      • - aucune auth externe est activé (pour tous les users) ou pour les users en auth interne.
      • - Notif par email activée
    • Lien de récupération permanent ou lien activable dans la config ?
      • Moyo : tout le temps mais peut-être lien configurable pour redirection vers système tiers ? donc stockage URL interne de GLPI par défaut. Vide : pas de lien.
  • Mécanisme : génération d'un nouveau mot de passe est mail de celui-ci. Faire un template pour.

JMD : Je ne suis pas très favorable à l'envoi d'un mot de passe par courriel. C'est un peu plus pénible mais le système de lien à cliquer avec token pour définir son nouveau mot de passe me semble plus sûr.
MoYo : c'est effectivement mieux. Ca veux dire un peu plus de boulot mais ce n'est pas un problème.
Walid : pareil, avoir un mail avec mon mot de passe en clair je n'aime pas trop ça...
Walid : est ce qu'on pose à l'utilisateur une question pour laquelle il aura préalablement donné une réponse ?
MoYo : le token suffira je pense.
Walid : pour les systèmes externes (SSO en particulier) on peut imaginer un lien vers la page qui te permet de modifier le password (ces systèmes possèdent en général un service de reset password)

Mise en place

  • Ajout des champs dans la table glpi_users
    • token : sha1 d'une chaine aléatoire
    • token_date : date de génération du token : validité ? 1 jour ?
  • Mail avec le lien incluant le token pour afficher une page de changement de mot de passe.
  • Page de changement : vérification du token et de sa validité
  • Système de récupération utilisable uniquement si
    • - aucune auth externe est activé (pour tous les users) ou pour les users en auth interne.
    • - Notif par email activée

20090216-glpi-forget.php.bz2 - Code glpi Forget (2.79 KB) jmd, 06/22/2009 08:00 PM