Question

Je suis à l'aide de la flask-login de la bibliothèque, et je n'ai pas été en mesure de trouver de bons tutoriels ou de la documentation sur la façon de permettre aux utilisateurs de réinitialiser leur mot de passe par courriel.Quelle direction/ressources puis-je regarder comment faire?Une minutieuse recherche de google n'a pas révélé quelque chose d'utile.

Était-ce utile?

La solution

flask-login ne prenez pas soin de réinitialiser le mot de passe e-mails et autres telles choses.Son juste là pour gérer les sessions et les cookies.

Vous devez utiliser Flask-Security ce qui ajoute de la fonctionnalité de réinitialisation de mot de passe et d'autres communes relatives à la sécurité caractéristiques de flacon.En flacon de Sécurité utilise en flacon de connexion pour gérer les sessions, mais ajoute d'autres fonctionnalités sur le dessus pour compléter les fonctionnalités de sécurité:

E-Mail De Confirmation

Si vous le souhaitez, vous pouvez exiger que les nouveaux utilisateurs de confirmer leur adresse e-mail.En flacon de Sécurité envoie un message électronique à tous les nouveaux utilisateurs avec un lien de confirmation.Lors de la navigation pour le lien de confirmation, l'utilisateur sera automatiquement connecté.Il y a aussi la vue, pour renvoyer un lien de confirmation à un courriel si l'utilisateur arrive à essayer de l'utiliser un jeton expiré ou a perdu le message précédent.La Confirmation des liens peut être configuré pour expirer après un laps de temps spécifié.

Réinitialisation De Mot De Passe/Récupération

Réinitialisation de mot de passe et de récupération est disponible lorsqu'un utilisateur oublie son ou de son mot de passe.En flacon de Sécurité envoie un courriel à l'utilisateur avec un lien d'un point de vue qui ils peuvent réinitialiser leur mot de passe.Une fois le mot de passe est réinitialiser ils sont automatiquement connectés et peuvent utiliser le nouveau mot de passe à partir de là.Réinitialisation de mot de passe de liens peut être configuré pour expirer après un laps de temps spécifié.

Enregistrement De L'Utilisateur

En flacon de Sécurité est livré avec un utilisateur de base de l'enregistrement de la vue.De ce point de vue est très simple et les nouveaux utilisateurs doivent seulement fournir un e-mail adresse et son mot de passe.Cette vue peut être surdéfini[sic] si votre processus d'enregistrement nécessite plus de champs.

Autres conseils

La Base de la logique:

  1. Créer réinitialiser le mot de passe formulaire avec email champ.
  2. Lorsque l'utilisateur de soumettre le formulaire, puis vous devez:
    1. vérifiez cet e-mail dans la base de données
    2. générer banale, crypto clé secrète aléatoire (juste à côté de la clé secrète)
    3. magasin de cette clé, timestamp actuel et l'identificateur de l'utilisateur de cache ou de la base de données
    4. l'envoyer à l'utilisateur e-mail ou sms
  3. Lorsque l'utilisateur s'appliquent à clé secrète (par exemple avec l'url ou de forme spéciale), vous devez:
    1. valider (exister, pas expiré, n'est pas utilisée avant)
    2. obtenez de l'identificateur de l'utilisateur
    3. supprimer ou marquer comme utilisé clé secrète
    4. fournir logique d'entrer/de générer un nouveau mot de passe.

La logique d'entrer/de générer un mot de passe peut être différente:

  1. de connexion de l'utilisateur et d'afficher le formulaire pour entrer le nouveau mot de passe - un mot clé
  2. afficher le formulaire pour entrer le mot de passe de connexion valide
  3. générer un nouveau mot de passe et l'envoyer à l'email de l'utilisateur
  4. générer une nouvelle clé secrète de formulaire pour entrer le nouveau mot de passe et l'envoyer à l'email de l'utilisateur
  5. générer une nouvelle clé secrète d'approuver le formulaire, l'envoyer via sms, afficher le formulaire pour entrer le nouveau mot de passe et l'approbation de la clé secrète, puis connectez-vous si valide
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top