Jak mogę programowo zresetować hasło użytkownika

11

Mam natywną aplikację mobilną komunikującą się z moją witryną drupal 7 za pośrednictwem modułu usług. Chciałbym umożliwić użytkownikom resetowanie hasła z aplikacji. Czy istnieje sposób na programowe zainicjowanie tego procesu, więc wiadomość e-mail jest generowana przy użyciu tokena jednorazowego użytku, który wygasa w ciągu 24 godzin?

Dzięki

lkiss80
źródło

Odpowiedzi:

21

Możesz użyć tej _user_mail_notify()funkcji wraz z obiektem użytkownika, aby wywołać wiadomość e-mail dotyczącą resetowania hasła:

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

Adres URL logowania jednorazowego z 24-godzinnym terminem ważności jest domyślnie dołączany do tego konkretnego e-maila.

Clive
źródło
Przepraszam. Jeszcze tego nie testowałem. Funkcja, dla której zamierzałem go użyć, została wyparta z powrotem w jednym wydaniu, więc zrobię to w tym miesiącu. Wyobrażam sobie, że to zadziała, ponieważ wydaje się bardzo proste. Dzięki.
lkiss80