Error 401 Unauthorized

GET https://teh-desa.trendy.cl/api/teh/notificaciones/pendientes

Security

Token

There is no security token.

Firewall

api_teh Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context (none)
entry_point (none)
user_checker security.user_checker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "App\Security\TehApiKeyAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#497
  -map: Symfony\Component\Security\Http\AccessMap {#504 …}
  -logger: Monolog\Logger {#489 …}
  -httpPort: 80
  -httpsPort: 443
}
(none) (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#532
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#533 …}
}
5.92 ms
Symfony\Component\HttpFoundation\JsonResponse {#548
  +headers: Symfony\Component\HttpFoundation\ResponseHeaderBag {#616 …}
  #content: "{"error":"Invalid API key."}"
  #version: "1.1"
  #statusCode: 401
  #statusText: "Unauthorized"
  #charset: "UTF-8"
  -sentHeaders: ? array
  #data: "{"error":"Invalid API key."}"
  #callback: null
  #encodingOptions: 15
}
Symfony\Component\Security\Http\Firewall\AccessListener {#540
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#281 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#279 …}
  -map: Symfony\Component\Security\Http\AccessMap {#504 …}
}
(none) (none)

Authenticators

Status Authenticator
failure
"App\Security\TehApiKeyAuthenticator"
Lazy no
Duration 3.08 ms
Badges
Exception
Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException {#483
  #message: "Invalid API key."
  #code: 0
  #file: "/var/www/teh/releases/29/src/Security/TehApiKeyAuthenticator.php"
  #line: 44
  -token: null
  -messageKey: "Invalid API key."
  -messageData: []
  trace: {
    /var/www/teh/releases/29/src/Security/TehApiKeyAuthenticator.php:44 {
      App\Security\TehApiKeyAuthenticator->authenticate(Request $request): Passport …
      › if (!is_string($apiKey) || !hash_equals($this->tehApiKey, $apiKey)) {
      ›     throw new CustomUserMessageAuthenticationException('Invalid API key.');
      › }
    }
    /var/www/teh/releases/29/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php:72 {
      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 {#19 …}
      }
    }
    /var/www/teh/releases/29/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 {#19 …}
      }
    }
    /var/www/teh/releases/29/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 {#534 …}
        $request: Symfony\Component\HttpFoundation\Request {#19 …}
      }
    }
    /var/www/teh/releases/29/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 {#19 …}
      }
    }
    /var/www/teh/releases/29/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 {#19 …}
      }
    }
    /var/www/teh/releases/29/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 {#230 …}
      }
    }
    /var/www/teh/releases/29/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 {#230 …}
      }
    }
    /var/www/teh/releases/29/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:94 {
      Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(RequestEvent $event, iterable $listeners): void …
      › } elseif (false !== $listener->supports($event->getRequest())) {
      ›     $listener->authenticate($event);
      › }
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#230 …}
      }
    }
    /var/www/teh/releases/29/vendor/symfony/security-http/Firewall.php:93 {
      Symfony\Component\Security\Http\Firewall->onKernelRequest(RequestEvent $event) …
      › 
      ›     $this->callListeners($event, $authenticationListeners());
      › }
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#230 …}
        $listeners: Generator {#484 …}
      }
    }
    /var/www/teh/releases/29/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 {#230 …}
        ...: {
          "kernel.request"
          Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#116 …}
        }
      }
    }
    /var/www/teh/releases/29/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 {#230 …}
        $eventName: "kernel.request"
        $dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#116 …}
      }
    }
    /var/www/teh/releases/29/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: [ …12]
        $eventName: "kernel.request"
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#230 …}
      }
    }
    /var/www/teh/releases/29/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:129 {
      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 {#230 …}
        $eventName: "kernel.request"
      }
    }
    /var/www/teh/releases/29/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 {#230 …}
        $eventName: "kernel.request"
      }
    }
    /var/www/teh/releases/29/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 {#19 …}
        $type: 1
      }
    }
    /var/www/teh/releases/29/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 {#19 …}
        $type: 1
        $catch: true
      }
    }
    /var/www/teh/releases/29/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:34 {
      Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
      › {
      ›     $response = $this->kernel->handle($this->request);
      › 
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#19 …}
      }
    }
    /var/www/teh/releases/29/vendor/autoload_runtime.php:32 {
      require_once …
      ›         ->getRunner($app)
      ›         ->run()
      › );
    }
    /var/www/teh/releases/29/public/index.php:5 {
      › 
      › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
      › 
      arguments: {
        "/var/www/teh/releases/29/vendor/autoload_runtime.php"
      }
    }
  }
}

Access Decision