fix: replace route closures with controllers, add Argon2id password migration

- Replace closures in web.php and auth.php with dedicated controllers
  (LoginRedirectController, LogoutController, TwoFactorChallengeController,
  EmailVerificationController) to fix route caching issues
- Add migration to increase password column to VARCHAR(255) for Argon2id support
- Fix 500 error caused by route cache incompatibility with closures
This commit is contained in:
root
2026-05-20 23:40:18 +02:00
parent 75b78c17fa
commit 1fe8d10c90
7 changed files with 106 additions and 14 deletions
+4 -8
View File
@@ -1,5 +1,7 @@
<?php
use App\Http\Controllers\Auth\LoginRedirectController;
use App\Http\Controllers\Auth\LogoutController;
use App\Http\Controllers\Miscellaneous\HomeController;
use App\Http\Controllers\Miscellaneous\InstallationController;
use App\Http\Controllers\Miscellaneous\LocaleController;
@@ -32,19 +34,13 @@ Route::middleware(['maintenance', 'check.ban', 'force.staff.2fa'])->group(functi
// Home routes (guest only)
Route::middleware(['guest', 'throttle:60,1'])->withoutMiddleware('force.staff.2fa')->group(function () {
Route::get('/login', static fn () => to_route('welcome'))->name('login');
Route::get('/login', LoginRedirectController::class)->name('login');
Route::get('/', HomeController::class)->name('welcome');
Route::get('/home', HomeController::class)->name('home');
});
// Logout route
Route::post('/logout', static function () {
auth()->guard('web')->logout();
session()->invalidate();
session()->regenerateToken();
return redirect('/');
})->name('logout');
Route::post('/logout', LogoutController::class)->name('logout');
// Authenticated routes
Route::middleware('auth')->group(function () {