diff options
Diffstat (limited to 'app/Http/Controllers/Auth/ConfirmablePasswordController.php')
| -rw-r--r-- | app/Http/Controllers/Auth/ConfirmablePasswordController.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/app/Http/Controllers/Auth/ConfirmablePasswordController.php b/app/Http/Controllers/Auth/ConfirmablePasswordController.php new file mode 100644 index 0000000..712394a --- /dev/null +++ b/app/Http/Controllers/Auth/ConfirmablePasswordController.php @@ -0,0 +1,40 @@ +<?php + +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Http\RedirectResponse; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Validation\ValidationException; +use Illuminate\View\View; + +class ConfirmablePasswordController extends Controller +{ + /** + * Show the confirm password view. + */ + public function show(): View + { + return view('auth.confirm-password'); + } + + /** + * Confirm the user's password. + */ + public function store(Request $request): RedirectResponse + { + if (! Auth::guard('web')->validate([ + 'email' => $request->user()->email, + 'password' => $request->password, + ])) { + throw ValidationException::withMessages([ + 'password' => __('auth.password'), + ]); + } + + $request->session()->put('auth.password_confirmed_at', time()); + + return redirect()->intended(route('dashboard', absolute: false)); + } +} |
