Files
KanbanGit/app/Http/Middleware/RequirePasswordChange.php
T
Twyco adaf3d2b32
linter / quality (push) Successful in 1m25s
tests / ci (8.4) (push) Failing after 1m19s
fixes
2026-05-23 01:05:01 +02:00

41 lines
1016 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class RequirePasswordChange
{
/**
* Handle an incoming request.
*
* @param Closure(Request): Response $next
*/
public function handle(Request $request, Closure $next): Response
{
$user = $request->user();
if ($user === null || ! $user->must_change_password_on_next_login) {
return $next($request);
}
if ($request->routeIs([
'logout',
'password.force-change.edit',
'user-password.update',
])) {
return $next($request);
}
if ($request->isMethod('get') && ! $request->expectsJson()) {
$request->session()->put('url.intended', $request->fullUrl());
}
return redirect()
->route('password.force-change.edit')
->with('status', 'You must change your password before continuing.');
}
}