Comment réinitialiser par programme le mot de passe d'un utilisateur


11

J'ai une application mobile native qui communique avec mon site drupal 7 via le module de services. Je voudrais donner aux utilisateurs la possibilité de réinitialiser leur mot de passe depuis l'application. Existe-t-il un moyen de lancer ce processus par programme, donc un e-mail est généré avec un jeton à usage unique qui expire dans 24 heures?

Merci

Réponses:


21

Vous pouvez utiliser la _user_mail_notify()fonction, avec un objet utilisateur, pour appeler l'e-mail de réinitialisation du mot de passe:

// Load a user (admin in this case).
$account = user_load(1);

// Invoke the email. It will be queued along with other system mail to be sent during cron
_user_mail_notify('password_reset', $account);

Une URL de connexion unique avec une expiration de 24 heures est incluse par défaut avec cet e-mail particulier.


Pardon. Je ne l'ai pas encore testé. La fonctionnalité pour laquelle j'allais l'utiliser a été repoussée d'une version, je le ferai donc ce mois-ci. J'imagine que cela fonctionnera car cela semble très simple. Merci.
lkiss80
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.