Files
laravel-nuxt-ui-inertia-tem…/app/Services/Auth/TwoFactorChallenge.php

34 lines
851 B
PHP

<?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');
}
}