People searching “Fortify confirm password Vue” ask for the password on every request from the Vue page. Laravel already has a timeout for this. Put password.confirm on the route that changes the email or deletes the account. The Fortify guide covers the login POST these screens sit behind.
TL;DR
- password.confirm sends the user to Fortify’s confirm screen.
- The Vue form posts the current password once.
- Do not store “the user confirmed” in
localStorage. - Do not skip the middleware because the Vue button already asked.
The fix#
Route::delete('/account', [AccountController::class, 'destroy'])
->middleware(['auth', 'password.confirm']);When the confirmation has expired, Laravel redirects to the confirm screen. The kit page is resources/js/pages/auth/ConfirmPassword.vue. It posts the current password:
form.post("/user/confirm-password");One field, named password. This is the current password, not a new one, and it does not use password_confirmation.
What to avoid#
Gotcha
Do not store “the user confirmed” in localStorage. The timeout lives in the session. A stolen page script should not be able to refresh it. Do not skip the middleware because the Vue button already asked. The button is not the check.
FAQ#
How do I confirm a password before a sensitive Vue action?
password.confirm sends the user to Fortify's confirm screen. The Vue form posts the current password once.
What goes wrong with Fortify confirm password Vue?
Many developers ask for the password on every request from the Vue page. Do not store "the user confirmed" in localStorage.



