X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/cd6572b61af2165133468d2562d04dffdca8fca8..1c859e94e03d0407daf55ade43ced245f208f971:/app/Http/Controllers/Auth/ResetPasswordController.php diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index eb678503d..a31529b11 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -2,8 +2,11 @@ namespace BookStack\Http\Controllers\Auth; +use BookStack\Actions\ActivityType; use BookStack\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ResetsPasswords; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Password; class ResetPasswordController extends Controller { @@ -30,20 +33,45 @@ class ResetPasswordController extends Controller public function __construct() { $this->middleware('guest'); - parent::__construct(); + $this->middleware('guard:standard'); } /** * Get the response for a successful password reset. * - * @param string $response + * @param Request $request + * @param string $response + * * @return \Illuminate\Http\Response */ - protected function sendResetResponse($response) + protected function sendResetResponse(Request $request, $response) { $message = trans('auth.reset_password_success'); - session()->flash('success', $message); + $this->showSuccessNotification($message); + $this->logActivity(ActivityType::AUTH_PASSWORD_RESET_UPDATE, user()); + return redirect($this->redirectPath()) ->with('status', trans($response)); } -} \ No newline at end of file + + /** + * Get the response for a failed password reset. + * + * @param \Illuminate\Http\Request $request + * @param string $response + * + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse + */ + protected function sendResetFailedResponse(Request $request, $response) + { + // We show invalid users as invalid tokens as to not leak what + // users may exist in the system. + if ($response === Password::INVALID_USER) { + $response = Password::INVALID_TOKEN; + } + + return redirect()->back() + ->withInput($request->only('email')) + ->withErrors(['email' => trans($response)]); + } +}