Security
Token
3a629a07-fed0-45da-b7ee-ee8c2ba4b75a
Username
Authenticated
| Property | Value |
|---|---|
| Roles |
[ "ROLE_API" "ROLE_USER" "ROLE_ADMIN" ] |
| Inherited Roles | none |
| Token | Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken {#1208 -user: IDCI\Bundle\KeycloakSecurityBundle\Security\User\KeycloakBearerUser {#1251 …} -roleNames: [ "ROLE_API" "ROLE_USER" "ROLE_ADMIN" ] -attributes: [] -firewallName: "api" } |
Firewall
api
Name
Security enabled
Stateless
Configuration
| Key | Value |
|---|---|
| provider | App\Security\User\KeycloakBearerUserProvider |
| context | api |
| entry_point | IDCI\Bundle\KeycloakSecurityBundle\Security\EntryPoint\BearerAuthenticationEntryPoint |
| user_checker | security.user_checker |
| access_denied_handler | (none) |
| access_denied_url | (none) |
| authenticators | [
"IDCI\Bundle\KeycloakSecurityBundle\Security\Authenticator\KeycloakBearerAuthenticator"
] |
Listeners
| Listener | Duration | Response |
|---|---|---|
Symfony\Component\Security\Http\Firewall\ChannelListener {#506 -map: Symfony\Component\Security\Http\AccessMap {#505 …} -logger: Monolog\Logger {#402 …} -httpPort: 80 -httpsPort: 443 } |
(none) | (none) |
Symfony\Component\Security\Http\Firewall\ContextListener {#571 -sessionKey: "_security_api" -registered: false -trustResolver: Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver {#408 …} -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#488 …} -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#66 …} -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#357 …} -logger: Monolog\Logger {#402 …} -dispatcher: Symfony\Component\EventDispatcher\EventDispatcher {#401 …} } |
0.56 ms | (none) |
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#555 -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#541 …} } |
4.08 ms | (none) |
Symfony\Component\Security\Http\Firewall\AccessListener {#1190 -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#63 …} -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#61 …} -map: Symfony\Component\Security\Http\AccessMap {#505 …} } |
0.37 ms | (none) |
Authenticators
| Status | Authenticator | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| success |
"IDCI\Bundle\KeycloakSecurityBundle\Security\Authenticator\KeycloakBearerAuthenticator"
|
Access Decision
affirmative
Strategy
| # | Voter class |
|---|---|
| 1 | "Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter" |
| 2 | "App\Security\CollectionVoter" |
| 3 | "App\Security\ImageVoter" |
Access decision log
| # | Result | Attributes | Object | ||||
|---|---|---|---|---|---|---|---|
| 1 | GRANTED | ROLE_API | Symfony\Component\HttpFoundation\Request {#2 +attributes: Symfony\Component\HttpFoundation\ParameterBag {#15 …} +request: Symfony\Component\HttpFoundation\InputBag {#5 …} +query: Symfony\Component\HttpFoundation\InputBag {#10 …} +server: Symfony\Component\HttpFoundation\ServerBag {#18 …} +files: Symfony\Component\HttpFoundation\FileBag {#17 …} +cookies: Symfony\Component\HttpFoundation\InputBag {#16 …} +headers: Symfony\Component\HttpFoundation\HeaderBag {#19 …} #content: "" #languages: null #charsets: null #encodings: null #acceptableContentTypes: null #pathInfo: "/images/route/68d90fdba0bbe1ff00000f4c" #requestUri: "/images/route/68d90fdba0bbe1ff00000f4c?type=icon&accessKey=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ5dHFSamsyQVp4VjRLclNvamtBX3Y3RjNPeVdPUDJ5bjh4QTc2OXRnUTE4In0.eyJleHAiOjE3ODM4NDUyMjUsImlhdCI6MTc4Mzg0NDkyNSwiYXV0aF90aW1lIjoxNzgzNjg3NTAxLCJqdGkiOiJvZnJ0cnQ6OTc4Y2NhNjgtMTBhNy03ZDIxLTQyMjYtNTc1ZTFkZjM1OWU0IiwiaXNzIjoiaHR0cHM6Ly9hdXRoLm15bW92ZW1lbnQuYXBwL3JlYWxtcy9teW1vdmVtZW50IiwiYXVkIjpbImFwcC1jbGllbnQiLCJqd3QtY2xpZW50Il0sInN1YiI6IjNhNjI5YTA3LWZlZDAtNDVkYS1iN2VlLWVlOGMyYmE0Yjc1YSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwcC1jbGllbnQiLCJzaWQiOiJlOTUwZGI4Yy1lYjgyLTQ1ZDAtYmEwNi05NmM1OGM2N2JlYmQiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIiIsIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtbXltb3ZlbWVudCIsIlJPTEVfQVBJIiwiUk9MRV9VU0VSIiwib2ZmbGluZV9hY2Nlc3MiLCJST0xFX0FETUlOIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJqd3QtY2xpZW50Ijp7InJvbGVzIjpbIlJPTEVfQVBJIiwiUk9MRV9VU0VSIiwiUk9MRV9BRE1JTiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgb2ZmbGluZV9hY2Nlc3MgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IkNhcnN0ZW4gRWlsZXJzIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiY2Fyc3Rlbi5laWxlcnNAZm5jbWVkaWEuZGUiLCJnaXZlbl9uYW1lIjoiQ2Fyc3RlbiIsImxvY2FsZSI6ImVuIiwiZmFtaWx5X25hbWUiOiJFaWxlcnMiLCJlbWFpbCI6ImNhcnN0ZW4uZWlsZXJzQGZuY21lZGlhLmRlIn0.L_E9Y8UsMtu0VrWja8u4gnXXZUvGRq0jm9D7kplC0_Mmhm0IXPc16b1mmn3YQPo4tA_cdynHjgHrKBLxHQ61UjTtBTXKegxGzxqao4uvoTG1JujudMq7lkQzFRFCrZFNshbaokiE9KbGC2i9Anma7812oFZ8s032VUohFwd9O4HgXo1GQU68swFIl7kImDBtMxPAS-IHSuAA0fCIcWZnZhSPXj8x5RupG2nXcFAG9F76_9esmOV-Pp9BMVX6QGZavAhk--YrtcCFtI_8w7_XAfAz3uS7ZMr9XhvnHa5LszRWjcjf8RaPprrWC2rQDhIw6lOyMMLcsOKC_-K9Ow5Isw" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Symfony\Component\HttpFoundation\Session\Session {#1193 …} #locale: null #defaultLocale: "en" -preferredFormat: null -isHostValid: true -isForwardedValid: true -isSafeContentPreferred: ? bool -trustedValuesCache: [] -isIisRewrite: false : "" : "html" } |
||||
|
|||||||
| 2 | GRANTED | view | App\Document\ImageProxy {#1332 #id: "68d90fdba0bbe1ff00000f4c" #updatedAt: null #latitude: 36.03859729518 #longitude: -111.83733528019 #timestamp: DateTime @1759055832 {#1350 : 2025-09-28 10:37:12.426 +00:00 } #timeOffset: -25200000 #timeZoneId: "PDT" #comment: null #hash: "be7b57273463932f213629b22dbaebc7919b36d54fa336a38c13fac2605805c7" #name: "a45fa7a7-65e7-42c3-a4fb-ad7b2473f223.jpeg" #deleted: false +path: null #file: null +virtualReality: false +mimeType: null #route: App\Document\Route {#1353 …} -extension: null -repositoryFactory: App\Mapper\RepositoryFactory {#537 …} -loadLazyProperties: true } |
||||
|
|||||||