GET https://zeggriim.fr/api/admin/summoners?limit=20&page=1

Security

Token

admin@lol.local Username
Authenticated
Property Value
Roles
[
  "ROLE_ADMIN"
]
Inherited Roles none
Token
Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\Token\JWTPostAuthenticationToken {#2631
  -user: App\Auth\Infrastructure\Persistence\Doctrine\Entity\AdminUserEntity {#1857 …}
  -roleNames: [
    "ROLE_ADMIN"
  ]
  -attributes: []
  -firewallName: "api_admin"
  -token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NzQxODY3NDMsImV4cCI6MTc3NDE5MDM0Mywicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJ1c2VybmFtZSI6ImFkbWluQGxvbC5sb2NhbCJ9.LFpp7URaAD2C5A2s9JdlGTUOiO1vCBXSYlhaDzfflzn077pMq89eqDtxGTcvXOD5FtYwbAGL0cbnIRScOMyVphFg5M7uUAQVqSvGv_ekRqgE7IfML3uixZhdWevwZfKIGtNvrpmEbEa_1o9PwH6MCnFZKpGP9wIIP5EEfU-qXYFRLaamHBGeCi4C6QlIHDYfNF08EUHq0mnp4kRqh_uzMM_wluRbNJZVvyWq8Mb3qfB0kiDuUkZHX-ozGgWpfMPzIlH7i9ttB5cz61HNvfMwN9V7dVWtJ0QvEGukqeQIaJeFuv2Hxnzxdcct3JVdCm5GBClVUQTaKflT_En-wmWBIw"
}

Firewall

api_admin Name
Security enabled
Stateless

Configuration

Key Value
provider App\Auth\Infrastructure\Security\AdminUserProvider
context (none)
entry_point security.authenticator.jwt.api_admin
user_checker security.user_checker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "jwt"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#461
  -map: Symfony\Component\Security\Http\AccessMap {#471 …}
  -logger: Monolog\Logger {#425 …}
  -httpPort: 80
  -httpsPort: 443
}
(none) (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#1188
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#2731 …}
}
35.36 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#441
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#136 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#436 …}
  -map: Symfony\Component\Security\Http\AccessMap {#471 …}
}
22.97 ms (none)

Authenticators

Status Authenticator
success
"Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
Lazy no
Duration 13.42 ms
Passport
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#3147
  #user: App\Auth\Infrastructure\Persistence\Doctrine\Entity\AdminUserEntity {#1857 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#2903
      -userLoader: Closure($userIdentifier) {#2905 …}
      -user: App\Auth\Infrastructure\Persistence\Doctrine\Entity\AdminUserEntity {#1857 …}
      -identifierNormalizer: null
      -userIdentifier: "admin@lol.local"
      -attributes: null
    }
  ]
  -attributes: [
    "payload" => [
      "iat" => 1774186743
      "exp" => 1774190343
      "roles" => [
        "ROLE_ADMIN"
      ]
      "username" => "admin@lol.local"
    ]
    "token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NzQxODY3NDMsImV4cCI6MTc3NDE5MDM0Mywicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJ1c2VybmFtZSI6ImFkbWluQGxvbC5sb2NhbCJ9.LFpp7URaAD2C5A2s9JdlGTUOiO1vCBXSYlhaDzfflzn077pMq89eqDtxGTcvXOD5FtYwbAGL0cbnIRScOMyVphFg5M7uUAQVqSvGv_ekRqgE7IfML3uixZhdWevwZfKIGtNvrpmEbEa_1o9PwH6MCnFZKpGP9wIIP5EEfU-qXYFRLaamHBGeCi4C6QlIHDYfNF08EUHq0mnp4kRqh_uzMM_wluRbNJZVvyWq8Mb3qfB0kiDuUkZHX-ozGgWpfMPzIlH7i9ttB5cz61HNvfMwN9V7dVWtJ0QvEGukqeQIaJeFuv2Hxnzxdcct3JVdCm5GBClVUQTaKflT_En-wmWBIw"
  ]
}
Badges UserBadge
Exception
Lexik\Bundle\JWTAuthenticationBundle\Exception\ExpiredTokenException {#1766
  #message: ""
  #code: 0
  #file: "/app/vendor/lexik/jwt-authentication-bundle/Security/Authenticator/JWTAuthenticator.php"
  #line: 91
  -token: null
  trace: {
    /app/vendor/lexik/jwt-authentication-bundle/Security/Authenticator/JWTAuthenticator.php:91 {
      Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator->authenticate(Request $request): Passport …
      › if (JWTDecodeFailureException::EXPIRED_TOKEN === $e->getReason()) {    throw new ExpiredTokenException();}
    }
    /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 {#842 …}
      }
    }
    /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 {#842 …}
      }
    }
    /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 {#2729 …}
        $request: Symfony\Component\HttpFoundation\Request {#842 …}
      }
    }
    /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 {#842 …}
      }
    }
    /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 {#842 …}
      }
    }
    /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 {#1438 …}
      }
    }
    /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 {#1438 …}
      }
    }
    /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 {#1438 …}
      }
    }
    /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 {#1438 …}
      }
    }
    /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 {#1438 …}
        $listeners: Generator {#1892 …}
      }
    }
    /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 {#1438 …}
        ...: {
          "kernel.request"
          Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#252 …}
        }
      }
    }
    /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 {#1438 …}
        $eventName: "kernel.request"
        $dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#252 …}
      }
    }
    /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: [ …10]
        $eventName: "kernel.request"
        $event: Symfony\Component\HttpKernel\Event\RequestEvent {#1438 …}
      }
    }
    /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 {#1438 …}
        $eventName: "kernel.request"
      }
    }
    /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 {#1438 …}
        $eventName: "kernel.request"
      }
    }
    /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 {#842 …}
        $type: 1
      }
    }
    /app/vendor/symfony/http-kernel/Kernel.php:182 {
      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 {#842 …}
        $type: 1
        $catch: true
      }
    }
    /app/vendor/runtime/frankenphp-symfony/src/Runner.php:38 {
      Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33} …
      › $sfRequest = Request::createFromGlobals();$sfResponse = $this->kernel->handle($sfRequest);arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#842 …}
      }
    }
    Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33}() {}
    /app/vendor/runtime/frankenphp-symfony/src/Runner.php:45 {
      Runtime\FrankenPhpSymfony\Runner->run(): int …
      › do {    $ret = \frankenphp_handle_request($handler);arguments: {
        $callback: Closure(): void {#2 …}
      }
    }
    /app/vendor/autoload_runtime.php:29 {
      require_once …
      ›         ->getRunner($app)        ->run());
    }
    /app/public/index.php:5 {
      › 
      › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
        "/app/vendor/autoload_runtime.php"
      }
    }
  }
}

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\RoleVoter"

Access decision log

# Result Attributes Object
1 GRANTED ROLE_ADMIN
Symfony\Component\HttpFoundation\Request {#3000
  +attributes: Symfony\Component\HttpFoundation\ParameterBag {#2065 …}
  +request: Symfony\Component\HttpFoundation\InputBag {#2462 …}
  +query: Symfony\Component\HttpFoundation\InputBag {#1010 …}
  +server: Symfony\Component\HttpFoundation\ServerBag {#2469 …}
  +files: Symfony\Component\HttpFoundation\FileBag {#1390 …}
  +cookies: Symfony\Component\HttpFoundation\InputBag {#1083 …}
  +headers: Symfony\Component\HttpFoundation\HeaderBag {#1914 …}
  #content: ""
  #languages: null
  #charsets: null
  #encodings: null
  #acceptableContentTypes: null
  #pathInfo: "/api/admin/summoners"
  #requestUri: "/api/admin/summoners?page=1&limit=20"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: null
  #session: Symfony\Component\HttpFoundation\Session\Session {#3109 …}
  #locale: null
  #defaultLocale: "en"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: ? bool
  -trustedValuesCache: []
  -isIisRewrite: false
  basePath: ""
  format: "html"
}
"Symfony\Component\Security\Core\Authorization\Voter\RoleVoter"
GRANTED
The user has ROLE_ADMIN.
Show voter details