Initial commit

This commit is contained in:
root
2026-05-09 17:28:23 +02:00
commit 9d73f82529
5575 changed files with 281989 additions and 0 deletions
@@ -0,0 +1,66 @@
<?php
namespace App\Actions\Fortify\Controllers;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Contracts\Auth\StatefulGuard;
use Illuminate\Routing\Controller;
use Illuminate\Validation\ValidationException;
use Laravel\Fortify\Events\RecoveryCodeReplaced;
use Laravel\Fortify\Http\Requests\TwoFactorLoginRequest;
use Laravel\Fortify\Http\Responses\TwoFactorLoginResponse;
class TwoFactorAuthenticatedSessionController extends Controller
{
/**
* The guard implementation.
*
* @var StatefulGuard
*/
protected $guard;
/**
* Create a new controller instance.
*/
public function __construct(StatefulGuard $guard)
{
$this->guard = $guard;
}
/**
* Attempt to authenticate a new session using the two factor authentication code.
*/
public function store(TwoFactorLoginRequest $request): TwoFactorLoginResponse
{
$user = $request->challengedUser();
$authenticatableUser = $user instanceof Authenticatable ? $user : null;
if ($code = $request->validRecoveryCode()) {
if ($user !== null && is_object($user) && method_exists($user, 'replaceRecoveryCode')) {
$user->replaceRecoveryCode($code);
}
if ($authenticatableUser instanceof Authenticatable) {
event(new RecoveryCodeReplaced($authenticatableUser, $code));
}
} elseif (! $request->hasValidCode()) {
throw ValidationException::withMessages([
'code' => __('Invalid Two Factor Authentication code'),
]);
}
if ($authenticatableUser instanceof Authenticatable) {
$this->guard->login($authenticatableUser, $request->remember());
}
$request->session()->regenerate();
if ($user !== null && is_object($user) && method_exists($user, 'update')) {
$user->update([
'ip_current' => $request->ip(),
]);
}
return app(TwoFactorLoginResponse::class);
}
}