function user_pass_reset_url in Drupal 10
Same name and namespace in other branches
- 8 core/modules/user/user.module \user_pass_reset_url()
- 4 modules/user.module \user_pass_reset_url()
- 5 modules/user/user.module \user_pass_reset_url()
- 6 modules/user/user.module \user_pass_reset_url()
- 7 modules/user/user.module \user_pass_reset_url()
- 9 core/modules/user/user.module \user_pass_reset_url()
Generates a unique URL for a user to log in and reset their password.
Parameters
\Drupal\user\UserInterface $account: An object containing the user account.
array $options: (optional) A keyed array of settings. Supported options are:
- langcode: A language code to be used when generating locale-sensitive URLs. If langcode is NULL the users preferred language is used.
Return value
string A unique URL that provides a one-time log in for the user, from which they can change their password.
6 calls to user_pass_reset_url()
- ServerCommand::getOneTimeLoginUrl in core/
lib/ Drupal/ Core/ Command/ ServerCommand.php - Gets a one time login URL for user 1.
- TestSiteUserLoginCommand::execute in core/
tests/ Drupal/ TestSite/ Commands/ TestSiteUserLoginCommand.php - UserPasswordResetTest::testResetImpersonation in core/
modules/ user/ tests/ src/ Functional/ UserPasswordResetTest.php - Make sure that users cannot forge password reset URLs of other users.
- UserRegistrationTest::testRegistrationWithEmailVerification in core/
modules/ user/ tests/ src/ Functional/ UserRegistrationTest.php - UserTokenReplaceTest::testUserTokenReplacement in core/
modules/ user/ tests/ src/ Functional/ UserTokenReplaceTest.php - Creates a user, then tests the tokens generated from it.
File
- core/
modules/ user/ user.module, line 504 - Enables the user registration and login system.
Code
function user_pass_reset_url($account, $options = []) {
$timestamp = \Drupal::time()
->getRequestTime();
$langcode = $options['langcode'] ?? $account
->getPreferredLangcode();
return Url::fromRoute('user.reset', [
'uid' => $account
->id(),
'timestamp' => $timestamp,
'hash' => user_pass_rehash($account, $timestamp),
], [
'absolute' => TRUE,
'language' => \Drupal::languageManager()
->getLanguage($langcode),
])
->toString();
}