Wie kann ich das Passwort eines Benutzers programmgesteuert zurücksetzen?

11

Ich habe eine native mobile Anwendung, die über das Servicemodul mit meiner Drupal 7-Site kommuniziert. Ich möchte Benutzern die Möglichkeit geben, ihr Passwort über die App zurückzusetzen. Gibt es eine Möglichkeit, diesen Prozess programmgesteuert zu initiieren, sodass eine E-Mail mit einem einmaligen Verwendungstoken generiert wird, das innerhalb von 24 Stunden abläuft?

Vielen Dank

lkiss80
quelle

Antworten:

21

Sie können die _user_mail_notify()Funktion zusammen mit einem Benutzerobjekt verwenden, um die E-Mail zum Zurücksetzen des Kennworts aufzurufen:

// 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);

Eine einmalige Anmelde-URL mit einem Ablauf von 24 Stunden ist standardmäßig in dieser bestimmten E-Mail enthalten.

Clive
quelle
Es tut uns leid. Ich habe das noch nicht getestet. Die Funktion, für die ich sie verwenden wollte, wurde um eine Version zurückgeschoben, daher werde ich dies irgendwann in diesem Monat tun. Ich kann mir vorstellen, dass es funktionieren wird, da es sehr einfach zu sein scheint. Vielen Dank.
lkiss80