fix: logout route accepts GET to prevent 404 on page refresh

POST /logout redirects to / after logging out, but when the redirect
fails to complete (browser/network quirk) the user is stuck on /logout.
Refreshing sends GET, which had no route defined, causing a 404.

Changed Route::post to Route::match(['get', 'post']) so refreshing
after a stuck redirect gracefully completes the logout instead.
This commit is contained in:
pllx
2026-04-27 07:19:58 +00:00
parent efb03f90b8
commit d10a354370
+2 -2
View File
@@ -50,8 +50,8 @@ Route::middleware('guest')->group(function () {
Route::post('/reset-password', [PasswordResetController::class, 'update'])->name('password.update');
});
// 处理退出登录
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
// 处理退出登录(同时接受 GET 和 POST,避免 POST 后刷新页面导致 404)
Route::match(['get', 'post'], '/logout', [AuthController::class, 'logout'])->name('logout');
// 登录失效后用于收口离场清理的签名地址,不依赖当前会话。
Route::get('/room/{id}/leave-expired/{user}', [ChatController::class, 'expiredLeave'])