commit21
This commit is contained in:
@@ -5,10 +5,14 @@ namespace App\Http\Controllers\Settings;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Settings\PasswordUpdateRequest;
|
||||
use App\Http\Requests\Settings\TwoFactorAuthenticationRequest;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Middleware\RequirePassword;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Validation\Rules\Password;
|
||||
use Inertia\Inertia;
|
||||
use Inertia\Response;
|
||||
use Laravel\Fortify\Features;
|
||||
use Laravel\Fortify\Fortify;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class SecurityController extends Controller
|
||||
{
|
||||
@@ -17,11 +21,34 @@ class SecurityController extends Controller
|
||||
*/
|
||||
public function edit(TwoFactorAuthenticationRequest $request): Response
|
||||
{
|
||||
if (Features::enabled(Features::twoFactorAuthentication())) {
|
||||
return app(RequirePassword::class)->handle($request, fn () => $this->page($request));
|
||||
}
|
||||
|
||||
return $this->page($request);
|
||||
}
|
||||
|
||||
private function page(TwoFactorAuthenticationRequest $request): Response
|
||||
{
|
||||
$actor = $request->user('web');
|
||||
abort_unless($actor instanceof User, 403);
|
||||
$props = [
|
||||
'passwordRules' => Password::defaults()->toPasswordRulesString(),
|
||||
];
|
||||
if (Features::enabled(Features::twoFactorAuthentication())) {
|
||||
$props += [
|
||||
'canManageTwoFactor' => true,
|
||||
'twoFactorEnabled' => $actor->hasEnabledTwoFactorAuthentication(),
|
||||
'twoFactorPending' => $actor->two_factor_secret !== null && ! $actor->hasEnabledTwoFactorAuthentication(),
|
||||
'requiresConfirmation' => Fortify::confirmsTwoFactorAuthentication(),
|
||||
];
|
||||
}
|
||||
|
||||
return Inertia::render('settings/security', $props);
|
||||
Inertia::encryptHistory();
|
||||
$response = Inertia::render('settings/security', $props)->toResponse($request);
|
||||
$response->headers->set('Cache-Control', 'private, no-store, max-age=0');
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user