3

My client had upgraded magento version in his site recently.

But after upgrade whenever the customers try to reset their passwords they get link in their email, and when they click on the link they are redirected to forgot password page with error "Your password reset link has expired".

I have checked in Admin panel at System> Configuration> Advanced> Admin> Admin User Emails> Recovery Link Expiration Period (days)

It is set to 2 days, still when customer open his reset password link in browser it shows the above error message.

I am sure no customer module overrides are there(community/local).

Current magento version running is ce-1.9.2.1.

Any suggestions please.

7ochem
7,61516 gold badges54 silver badges82 bronze badges
asked Sep 29, 2015 at 12:43
3
  • See pixelninja.me/magento-password-reset-not-working Commented Sep 29, 2015 at 12:46
  • Yes checked it already, but didn't seem to help, I am having issue of error message displaying and the actual template of "Reset Password" not loading at all. Moreover, I also modified the "customer.xml" but still same issue. Commented Sep 29, 2015 at 12:51
  • did you find a solution? Commented Feb 19, 2016 at 18:23

4 Answers 4

5

I had the same, but a second error message appeared which said that a required field is not filled out. In general: when anything goes wrong when saving the customer, the said error message "Your password reset link has expired" shows up. So, pay attention to any additional error messages showing up or in your log files.

If you want to find out what's happening in detail, go to the file "app/code/core/Mage/Customer/controllers/AccountController.php" and modify the method resetPasswordPostAction temporarily. Inside the } catch (Exception $exception) { directive, add Mage::logException($exception);. After you have seen the error again, you can find the real error message in the file var/log/exception.log.

WaPoNe
1,6483 gold badges18 silver badges36 bronze badges
answered Jun 17, 2016 at 19:24
1
  • I guess it would solve the problem. Now, will be waiting to see the response from Vicky Dev. Commented Jun 17, 2016 at 19:55
1

The issue can be related to template file. In my case when i was updating the password it was showing the error "your password reset link has expired."

If this the case, Please go to /app/design/frontend/base/default/template/customer/form/resetforgottenpassword.phtml

if the form shows like this:

<form action="<?php echo $this->getUrl('*/*/resetpasswordpost'); ?>" method="post" id="form-validate">

replace it with:

<form action="<?php echo $this->getUrl('*/*/resetpasswordpost', array('_query' => array('id' => $this->getCustomerId(), 'token' => $this->getResetPasswordLinkToken()))); ?>" method="post" id="form-validate">

Then try to reset the password.

Fabian Schmengler
66.2k25 gold badges191 silver badges422 bronze badges
answered Aug 26, 2016 at 18:33
4
  • I tried this in 1.9.1.0 but I still get "Your password reset link has expired." Commented Sep 2, 2016 at 20:26
  • Have you installed any new patch ? Commented Sep 7, 2016 at 14:39
  • all patches are updated Commented Sep 10, 2016 at 22:37
  • There are lots of changes in core code in magento 1.9.1.0 and magento 1.9.1.1, Magento released version 1.9.1.1 after version 1.9.1.0, so make sure you have installed the patches only for 1.9.1.0. Commented Sep 12, 2016 at 8:14
0

You can try this fix, go to your theme's layout/customer.xml and add:

<customer_account_changeforgotten translate="label">
 <label>Reset a Password</label>
 <remove name="right"/>
 <remove name="left"/>
 <reference name="head">
 <action method="setTitle" translate="title" module="customer">
 <title>Reset a Password</title>
 </action>
 </reference>
 <reference name="root">
 <action method="setTemplate">
 <template>page/1column.phtml</template>
 </action>
 <action method="setHeaderTitle" translate="title" module="customer">
 <title>Reset a Password</title>
 </action>
 </reference>
 <reference name="content">
 <block type="customer/account_changeforgotten" name="changeForgottenPassword" template="customer/form/resetforgottenpassword.phtml"/>
 </reference>
</customer_account_changeforgotten>

More details here: http://www.dudesquare.nl/blog/2015/11/03/reset-password-blank-page-magento-1-9-2-2/

answered Jan 3, 2018 at 10:34
0

Maybe you use old email templates:

Replace

{{store url="customer/account/resetpassword/" _query_id=$customer.id _query_token=$customer.rp_token}}

with

{{store url="customer/account/resetpassword/" _query_id=$customer.rp_customer_id _query_token=$customer.rp_token}}
answered Feb 13, 2019 at 10:57

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.