passwordReminder = $passwordReminder; } /** * Set the userEmail and create a random token * @param $userEmail * @throws StoreResourceFailedException * @return PasswordReminder */ public function store($userEmail) { $user = User::findOrFail($userEmail); $this->passwordReminder->userEmail = $user->email; $this->passwordReminder->token = bin2hex(openssl_random_pseudo_bytes(24)); if ($this->passwordReminder->save()) { return $this->passwordReminder; } else { throw new StoreResourceFailedException; } } /** * Destroy the password reminder means setting a new password for the user * @param $userEmail * @param $reminderToken * @return null */ public function destroy($userEmail, $reminderToken) { $user = Auth::user(); $user->password = Request::get('password'); $user->save(); $this->passwordReminder = $this->passwordReminder->findOrFail($reminderToken); $this->passwordReminder->useToken(); return null; } }