This commit is contained in:
2026-11-03 11:51:44 +02:00
parent badaada043
commit e753f7a0a4
309 changed files with 14537 additions and 529 deletions
@@ -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;
}
/**