38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Settings;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\Settings\TwoFactorAuthenticationRequest;
|
|
use Illuminate\Routing\Controllers\HasMiddleware;
|
|
use Illuminate\Routing\Controllers\Middleware;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
use Laravel\Fortify\Features;
|
|
|
|
class TwoFactorAuthenticationController extends Controller implements HasMiddleware
|
|
{
|
|
/**
|
|
* Get the middleware that should be assigned to the controller.
|
|
*/
|
|
public static function middleware(): array
|
|
{
|
|
return Features::optionEnabled(Features::twoFactorAuthentication(), 'confirmPassword')
|
|
? [new Middleware('password.confirm', only: ['show'])]
|
|
: [];
|
|
}
|
|
|
|
/**
|
|
* Show the user's two-factor authentication settings page.
|
|
*/
|
|
public function show(TwoFactorAuthenticationRequest $request): Response
|
|
{
|
|
$request->ensureStateIsValid();
|
|
|
|
return Inertia::render('settings/two-factor', [
|
|
'twoFactorEnabled' => $request->user()->hasEnabledTwoFactorAuthentication(),
|
|
'requiresConfirmation' => Features::optionEnabled(Features::twoFactorAuthentication(), 'confirm'),
|
|
]);
|
|
}
|
|
}
|