feat: add two-factor authentication support and related configurations

This commit is contained in:
2026-07-24 12:59:10 +02:00
parent 54345e621c
commit 235d5f646c
27 changed files with 2608 additions and 374 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Services\Auth;
use App\Models\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class TwoFactorChallenge
{
/**
* Determine whether the user must complete a two-factor challenge.
*/
public function requiredFor(User $user): bool
{
return (bool) config('auth-ui.features.two_factor')
&& $user->hasEnabledTwoFactorAuthentication();
}
/**
* Begin a two-factor challenge without authenticating the user.
*/
public function begin(Request $request, User $user, bool $remember = false): RedirectResponse
{
$request->session()->put([
'login.id' => $user->getKey(),
'login.remember' => $remember,
]);
$request->session()->regenerate();
return redirect()->route('two-factor.login');
}
}