Lae/app/Helpers/Auth/ConfirmsPasswords.php

62 lines
1.4 KiB
PHP
Raw Permalink Normal View History

2023-02-01 18:58:44 +00:00
<?php
namespace App\Helpers\Auth;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
trait ConfirmsPasswords
{
use RedirectsUsers;
/**
* Display the password confirmation view.
*/
public function showConfirmForm(): View
{
return view('auth.passwords.confirm');
}
/**
* Confirm the given user's password.
*/
public function confirm(Request $request): JsonResponse|RedirectResponse
{
$request->validate($this->rules(), $this->validationErrorMessages());
$this->resetPasswordConfirmationTimeout($request);
return $request->wantsJson()
2023-02-07 09:03:47 +00:00
? new JsonResponse([], 204)
: redirect()->intended($this->redirectPath());
2023-02-01 18:58:44 +00:00
}
/**
* Get the password confirmation validation rules.
*/
protected function rules(): array
{
return [
'password' => 'required|current_password:web',
];
}
/**
* Get the password confirmation validation error messages.
*/
protected function validationErrorMessages(): array
{
return [];
}
2023-02-07 09:03:47 +00:00
/**
* Reset the password confirmation timeout.
*/
protected function resetPasswordConfirmationTimeout(Request $request): void
{
$request->session()->put('auth.password_confirmed_at', time());
}
2023-02-01 18:58:44 +00:00
}