misc_pterodactyl-panel/app/Http/Middleware/Api/Application/AuthenticateApplicationUser.php
2023-02-23 12:30:16 -07:00

24 lines
730 B
PHP

<?php
namespace Pterodactyl\Http\Middleware\Api\Application;
use Illuminate\Http\Request;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
class AuthenticateApplicationUser
{
/**
* Authenticate that the currently authenticated user is an administrator
* and should be allowed to proceed through the application API.
*/
public function handle(Request $request, \Closure $next): mixed
{
/** @var \Pterodactyl\Models\User|null $user */
$user = $request->user();
if (!$user || !$user->root_admin) {
throw new AccessDeniedHttpException('This account does not have permission to access the API.');
}
return $next($request);
}
}