Sécuriser les mots de passe temporaires envoyés par courrier électronique aux utilisateurs?

StackOverflow https://stackoverflow.com/questions/1625976

  •  06-07-2019
  •  | 
  •  

Question

J'ai une simple application Web où les administrateurs peuvent créer des utilisateurs. Les utilisateurs ne se créent pas eux-mêmes. Tout ce qu’un administrateur doit faire, c’est entrer un nom d’utilisateur et un e-mail et un mot de passe temporaire est envoyé à l’utilisateur pour lui permettre de se connecter. Cet e-mail est envoyé au format texte brut. Si l'utilisateur se connecte pour la première fois, il doit modifier son mot de passe, entrer une question de sécurité et y répondre. Il est évident que l’utilisateur doit connaître son mot de passe temporaire pour pouvoir se connecter pour la première fois et c’est le seul moyen que je connaisse pour le leur faire savoir (par courrier électronique). L'autre option serait de demander à l'administrateur d'appeler l'utilisateur et de lui dire son mot de passe temporaire, par téléphone ou en personne, mais ce n'est pas pratique. Comment pourrais-je gérer une telle situation?

Était-ce utile?

La solution

J'utilise généralement une URL temporaire basée sur un enregistrement d'invitation sur le back-end. En gros, vous créez un enregistrement d'invitation et générez un hachage basé sur certaines informations, par exemple l'adresse électronique de l'utilisateur, un horodatage et une valeur aléatoire. Stockez le hachage dans l’enregistrement d’invitation, puis envoyez-leur une URL contenant le hachage comme paramètre.

Quand ils cliquent sur le lien, recherchent l'invitation et valident son existence et qu'il n'a pas été utilisé - permettez-leur de configurer leur mot de passe et invalider l'invitation.

Cela vous évite d'avoir à envoyer n'importe quel mot de passe et vous pouvez également définir une date d'expiration pour vos enregistrements d'invitation.

Autres conseils

Le scénario que vous décrivez est très courant: il vous suffit d'envoyer un mot de passe temporaire par courrier électronique et de le modifier dès la première connexion. À moins que vous n'ayez un problème spécifique avec ce modèle, je ne vois aucune raison de ne pas l'utiliser. Avoir un appel d'administrateur peut être compliqué, je l'éviterais à tout prix.

Vous pouvez générer une URL personnalisée avec un mot de passe et un hachage utilisateur en tant qu'argument dans lequel l'utilisateur doit se connecter lui-même. Le hachage sera difficile à récupérer si l'attaquant ne dispose pas des informations

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top