diff --git a/core/modules/user/src/AccountSettingsForm.php b/core/modules/user/src/AccountSettingsForm.php
index df65cb8..5b4645a 100644
--- a/core/modules/user/src/AccountSettingsForm.php
+++ b/core/modules/user/src/AccountSettingsForm.php
@@ -185,7 +185,20 @@ public function buildForm(array $form, FormStateInterface $form_state) {
         $form['registration_cancellation']['user_cancel_method'][$key]['#access'] = FALSE;
       }
     }
-
+    //check if the timeout is overridden, if not use the default value.
+    $timeout = $config->get('password_reset_timeout_override');
+    if (empty($timeout)) {
+      $timeout = $config->get('password_reset_timeout');
+    }
+    // Configure one-time login link timeout.
+    $form['registration_cancellation']['user_pass_reset_timeout'] = array(
+      '#type' => 'textfield',
+      '#title' => t('How long will a one-time login link be valid?'),
+      '#default_value' => $timeout,
+      '#description' => t('Time, in seconds, during which a one-time login link will be valid. Defaults to 24 hours (86400 seconds).'),
+      '#maxlength' => 8,
+      '#size' => 8,
+    );
     // Account settings.
     $filter_exists = $this->moduleHandler->moduleExists('filter');
     $form['personalization'] = array(
@@ -448,6 +461,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
       ->set('notify.status_activated', $form_state->getValue('user_mail_status_activated_notify'))
       ->set('notify.status_blocked', $form_state->getValue('user_mail_status_blocked_notify'))
       ->set('notify.status_canceled', $form_state->getValue('user_mail_status_canceled_notify'))
+      ->set('password_reset_timeout_override', $form_state->getValue('user_pass_reset_timeout'))
       ->save();
     $this->config('user.mail')
       ->set('cancel_confirm.body', $form_state->getValue('user_mail_cancel_confirm_body'))
diff --git a/core/modules/user/src/Controller/UserController.php b/core/modules/user/src/Controller/UserController.php
index 0243c33..7c008c3 100644
--- a/core/modules/user/src/Controller/UserController.php
+++ b/core/modules/user/src/Controller/UserController.php
@@ -111,7 +111,13 @@ public function resetPass($uid, $timestamp, $hash) {
     else {
       // The current user is not logged in, so check the parameters.
       // Time out, in seconds, until login URL expires.
-      $timeout = $config->get('password_reset_timeout');
+      // The current user is not logged in, so check the parameters.
+      // Time out, in seconds, until login URL expires.
+      // check if the timeout is overridden, if not use the default value
+      $timeout = $config->get('password_reset_timeout_override');
+      if (empty($timeout)) {
+        $timeout = $config->get('password_reset_timeout');
+      }
       $current = REQUEST_TIME;
       /* @var \Drupal\user\UserInterface $user */
       $user = $this->userStorage->load($uid);
