Error 401 Unauthorized

GET http://localhost:60068/api/v1/_ping

Security

Token

There is no security token.

Firewall

api Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.users_provider
context (none)
entry_point DkLAB\Superadmin\Apps\Api\Security\HmacAuthenticator
user_checker security.user_checker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "DkLAB\Superadmin\Apps\Api\Security\HmacAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#589
  -map: Symfony\Component\Security\Http\AccessMap {#560 …}
  -logger: Monolog\Logger {#571 …}
  -httpPort: 60068
  -httpsPort: 443
}
(none) (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#605
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
40.04 ms
Symfony\Component\HttpFoundation\JsonResponse {#615
  +headers: Symfony\Component\HttpFoundation\ResponseHeaderBag {#683 …}
  #content: "{"error":"missing_headers","message":"Required HMAC headers (X-Client-Slug, X-Environment, X-Timestamp, X-Nonce, X-Signature) missing."}"
  #version: "1.1"
  #statusCode: 401
  #statusText: "Unauthorized"
  #charset: "UTF-8"
  -sentHeaders: ? array
  #data: "{"error":"missing_headers","message":"Required HMAC headers (X-Client-Slug, X-Environment, X-Timestamp, X-Nonce, X-Signature) missing."}"
  #callback: null
  #encodingOptions: 15
}
Symfony\Component\Security\Http\Firewall\AccessListener {#607
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#398 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#89 …}
  -map: Symfony\Component\Security\Http\AccessMap {#560 …}
}
(none) (none)

Authenticators

Status Authenticator
failure
"DkLAB\Superadmin\Apps\Api\Security\HmacAuthenticator"
Lazy no
Duration 0.28 ms
Badges
Exception
Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException {#583
  #message: "missing_headers"
  #code: 0
  #file: "/var/www/html/app/src/Apps/Api/Security/HmacAuthenticator.php"
  #line: 42
  -token: null
  -messageKey: "missing_headers"
  -messageData: []
  trace: {
    /var/www/html/app/src/Apps/Api/Security/HmacAuthenticator.php:42 {
      DkLAB\Superadmin\Apps\Api\Security\HmacAuthenticator->authenticate(Request $request): Passport …
      › if ($clientSlug === null || $envName === null) {    throw new CustomUserMessageAuthenticationException('missing_headers');}
    }
    /var/www/html/app/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php:74 {
      Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator->authenticate(Request $request): Passport …
      › try {    $this->passport = $this->authenticator->authenticate($request);} finally {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:185 {
      Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticator(AuthenticatorInterface $authenticator, Request $request): Response …
      › // get the passport from the Authenticator$passport = $authenticator->authenticate($request);arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:167 {
      Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticators(array $authenticators, Request $request): Response …
      › 
      › $response = $this->executeAuthenticator($authenticator, $request);if (null !== $response) {
      arguments: {
        $authenticator: Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator {#596 …}
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:149 {
      Symfony\Component\Security\Http\Authentication\AuthenticatorManager->authenticateRequest(Request $request): Response …
      › 
      ›     return $this->executeAuthenticators($authenticators, $request);}
      arguments: {
        $authenticators: [ …1]
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php:38 {
      Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener->authenticate(RequestEvent $event): void …
      › $request = $event->getRequest();$response = $this->authenticatorManager->authenticateRequest($request);if (null === $response) {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php:58 {
      Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener->authenticate(RequestEvent $event): void …
      › {    $this->authenticationManagerListener->authenticate($event);}
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-bundle/Debug/WrappedLazyListener.php:46 {
      Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate(RequestEvent $event): void …
      › try {    $this->listener->authenticate($event);} catch (LazyResponseException $e) {
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Firewall/AbstractListener.php:26 {
      Symfony\Component\Security\Http\Firewall\AbstractListener->__invoke(RequestEvent $event): void …
      › if (false !== $this->supports($event->getRequest())) {    $this->authenticate($event);}
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:91 {
      Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(RequestEvent $event, iterable $listeners): void …
      › foreach ($requestListeners as $listener) {    $listener($event);arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
      }
    }
    /var/www/html/app/vendor/symfony/security-http/Firewall.php:92 {
      Symfony\Component\Security\Http\Firewall->onKernelRequest(RequestEvent $event) …
      › 
      ›     $this->callListeners($event, $authenticationListeners());}
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
        $listeners: Generator {#586 …}
      }
    }
    /var/www/html/app/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
      Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
      › try {    ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
        ...: {
          "kernel.request"
          Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#252 …}
        }
      }
    }
    /var/www/html/app/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
      Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
      ›     }    $listener($event, $eventName, $this);}
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
        $eventName: "kernel.request"
        $dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#252 …}
      }
    }
    /var/www/html/app/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
      Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › if ($listeners) {    $this->callListeners($listeners, $eventName, $event);}
      arguments: {
        $listeners: [ …16]
        $eventName: "kernel.request"
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
      }
    }
    /var/www/html/app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
      Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › try {    $this->dispatcher->dispatch($event, $eventName);} finally {
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
        $eventName: "kernel.request"
      }
    }
    /var/www/html/app/vendor/symfony/http-kernel/HttpKernel.php:159 {
      Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
      › $event = new RequestEvent($this, $request, $type);$this->dispatcher->dispatch($event, KernelEvents::REQUEST);arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#131 …}
        $eventName: "kernel.request"
      }
    }
    /var/www/html/app/vendor/symfony/http-kernel/HttpKernel.php:76 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {    return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
        $type: 1
      }
    }
    /var/www/html/app/vendor/symfony/http-kernel/Kernel.php:193 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
        $type: 1
        $catch: true
      }
    }
    /var/www/html/app/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
      Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
      › {    $response = $this->kernel->handle($this->request);arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#20 …}
      }
    }
    /var/www/html/app/vendor/autoload_runtime.php:29 {
      require_once …
      ›         ->getRunner($app)        ->run());
    }
    /var/www/html/app/public/index.php:7 {
      › 
      › require_once dirname(__DIR__) . '/vendor/autoload_runtime.php';arguments: {
        "/var/www/html/app/vendor/autoload_runtime.php"
      }
    }
  }
}

Access Decision