Files
2026-09-02 17:08:57 +00:00

30 lines
707 B
PHP
Executable File

<?php
declare(strict_types=1);
namespace Modules\Helpdesk\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
final class VerifyHelpdeskSyncToken
{
public function handle(Request $request, Closure $next): Response
{
$expected = (string) config('helpdesk.sync.accept_token', '');
if ($expected === '') {
abort(503, 'Helpdesk remote sync is not enabled on this host.');
}
$provided = (string) $request->bearerToken();
if ($provided === '' || ! hash_equals($expected, $provided)) {
abort(401, 'Invalid Helpdesk sync token.');
}
return $next($request);
}
}