Add ability to disable two factor authentication

This commit is contained in:
Dane Everitt 2019-12-22 20:41:25 -08:00
parent 2a653cdd8d
commit 9a0ed6b291
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
4 changed files with 107 additions and 3 deletions

View file

@ -2,6 +2,7 @@
namespace Pterodactyl\Http\Controllers\Api\Client;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
@ -100,7 +101,29 @@ class TwoFactorController extends ClientApiController
return JsonResponse::create([], Response::HTTP_NO_CONTENT);
}
public function delete()
/**
* Disables two-factor authentication on an account if the password provided
* is valid.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function delete(Request $request)
{
if (! password_verify($request->input('password') ?? '', $request->user()->password)) {
throw new BadRequestHttpException(
'The password provided was not valid.'
);
}
/** @var \Pterodactyl\Models\User $user */
$user = $request->user();
$user->update([
'totp_authenticated_at' => Carbon::now(),
'use_totp' => false,
]);
return JsonResponse::create([], Response::HTTP_NO_CONTENT);
}
}