48 $this->session = $customerSession;
51 parent::__construct($context);
61 $resetPasswordToken = (string)$this->
getRequest()->getParam(
'token');
62 $isDirectLink = $resetPasswordToken !=
'';
64 $resetPasswordToken = (string)$this->session->getRpToken();
68 $this->accountManagement->validateResetPasswordLinkToken(
null, $resetPasswordToken);
71 $this->session->setRpToken($resetPasswordToken);
72 $resultRedirect = $this->resultRedirectFactory->create();
73 $resultRedirect->setPath(
'*/*/createpassword');
75 return $resultRedirect;
78 $resultPage = $this->resultPageFactory->create();
79 $resultPage->getLayout()
80 ->getBlock(
'resetPassword')
81 ->setResetPasswordLinkToken($resetPasswordToken);
85 }
catch (\Exception $exception) {
86 $this->messageManager->addError(
__(
'Your password reset link has expired.'));
88 $resultRedirect = $this->resultRedirectFactory->create();
89 $resultRedirect->setPath(
'*/*/forgotpassword');
90 return $resultRedirect;
__construct(Context $context, Session $customerSession, PageFactory $resultPageFactory, AccountManagementInterface $accountManagement)