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

lkiss80
la source

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.

Clive
la source
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