BookStack/app/Http/Controllers/Auth/MfaController.php

55 lines
1.3 KiB
PHP
Raw Normal View History

2021-06-28 17:02:45 -04:00
<?php
namespace BookStack\Http\Controllers\Auth;
use BookStack\Actions\ActivityType;
use BookStack\Auth\Access\Mfa\MfaValue;
2021-06-28 17:02:45 -04:00
use BookStack\Http\Controllers\Controller;
class MfaController extends Controller
{
/**
* Show the view to setup MFA for the current user.
*/
public function setup()
{
$userMethods = user()->mfaValues()
->get(['id', 'method'])
->groupBy('method');
return view('mfa.setup', [
'userMethods' => $userMethods,
]);
2021-06-28 17:02:45 -04:00
}
/**
* Remove an MFA method for the current user.
* @throws \Exception
*/
public function remove(string $method)
{
if (in_array($method, MfaValue::allMethods())) {
$value = user()->mfaValues()->where('method', '=', $method)->first();
if ($value) {
$value->delete();
$this->logActivity(ActivityType::MFA_REMOVE_METHOD, $method);
}
}
return redirect('/mfa/setup');
}
/**
* Show the page to start an MFA verification.
*/
public function verify()
{
$userMethods = user()->mfaValues()
->get(['id', 'method'])
->groupBy('method');
return view('mfa.verify', [
'userMethods' => $userMethods,
]);
}
2021-06-28 17:02:45 -04:00
}