From 70cf75879b535d0ae036cf72b50fd026231e7eda Mon Sep 17 00:00:00 2001 From: Alin Musat Date: Tue, 8 Dec 2020 09:50:48 +0200 Subject: [PATCH 1/2] add passwordTimeout to RequirePassword middleware as a parameter --- src/Illuminate/Auth/Middleware/RequirePassword.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Illuminate/Auth/Middleware/RequirePassword.php b/src/Illuminate/Auth/Middleware/RequirePassword.php index 315bdb8121ca..24cec3b8859b 100644 --- a/src/Illuminate/Auth/Middleware/RequirePassword.php +++ b/src/Illuminate/Auth/Middleware/RequirePassword.php @@ -50,11 +50,12 @@ public function __construct(ResponseFactory $responseFactory, UrlGenerator $urlG * @param \Illuminate\Http\Request $request * @param \Closure $next * @param string|null $redirectToRoute + * @param int|null $passwordTimeoutSeconds * @return mixed */ - public function handle($request, Closure $next, $redirectToRoute = null) + public function handle($request, Closure $next, $redirectToRoute = null, int $passwordTimeoutSeconds = null) { - if ($this->shouldConfirmPassword($request)) { + if ($this->shouldConfirmPassword($request, $passwordTimeoutSeconds)) { if ($request->expectsJson()) { return $this->responseFactory->json([ 'message' => 'Password confirmation required.', @@ -73,12 +74,13 @@ public function handle($request, Closure $next, $redirectToRoute = null) * Determine if the confirmation timeout has expired. * * @param \Illuminate\Http\Request $request + * @param int|null $passwordTimeoutSeconds * @return bool */ - protected function shouldConfirmPassword($request) + protected function shouldConfirmPassword($request, int $passwordTimeoutSeconds = null) { $confirmedAt = time() - $request->session()->get('auth.password_confirmed_at', 0); - return $confirmedAt > $this->passwordTimeout; + return $confirmedAt > ($passwordTimeoutSeconds ?? $this->passwordTimeout); } } From 1c98d5866d3462a502790783cd0eec94388ab947 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Tue, 8 Dec 2020 08:07:58 -0600 Subject: [PATCH 2/2] Update RequirePassword.php --- src/Illuminate/Auth/Middleware/RequirePassword.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Auth/Middleware/RequirePassword.php b/src/Illuminate/Auth/Middleware/RequirePassword.php index 24cec3b8859b..4ed43954da22 100644 --- a/src/Illuminate/Auth/Middleware/RequirePassword.php +++ b/src/Illuminate/Auth/Middleware/RequirePassword.php @@ -53,7 +53,7 @@ public function __construct(ResponseFactory $responseFactory, UrlGenerator $urlG * @param int|null $passwordTimeoutSeconds * @return mixed */ - public function handle($request, Closure $next, $redirectToRoute = null, int $passwordTimeoutSeconds = null) + public function handle($request, Closure $next, $redirectToRoute = null, $passwordTimeoutSeconds = null) { if ($this->shouldConfirmPassword($request, $passwordTimeoutSeconds)) { if ($request->expectsJson()) { @@ -77,7 +77,7 @@ public function handle($request, Closure $next, $redirectToRoute = null, int $pa * @param int|null $passwordTimeoutSeconds * @return bool */ - protected function shouldConfirmPassword($request, int $passwordTimeoutSeconds = null) + protected function shouldConfirmPassword($request, $passwordTimeoutSeconds = null) { $confirmedAt = time() - $request->session()->get('auth.password_confirmed_at', 0);