Security

Token

jonathan@neopixl.com Username
Authenticated
Property Value
Roles
[
  "ROLE_PARENT"
  "ROLE_USER"
]
Inherited Roles none
Token
Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken {#708
  -user: App\Entity\User {#929 …}
  -roleNames: [
    "ROLE_PARENT"
    "ROLE_USER"
  ]
  -attributes: []
  -firewallName: "api"
}

Firewall

api Name
Security enabled
Stateless

Configuration

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

Listeners

Listener Duration Response
"Symfony\Component\Security\Http\Firewall\ChannelListener"
(none) (none)
"Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener"
21.63 ms (none)
"Symfony\Component\Security\Http\Firewall\AccessListener"
1.44 ms (none)

Authenticators

Status Authenticator
success
"App\OAuth\Security\OAuth2Authenticator"
Lazy no
Duration 8.89 ms
Passport
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#721
  #user: App\Entity\User {#929 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#727
      -userLoader: Closure(string $id) {#656 …}
      -user: App\Entity\User {#929 …}
      -identifierNormalizer: null
      -userIdentifier: "019e1fdf-3da9-71cb-b195-c6c4c6513e7f"
      -attributes: null
    }
  ]
  -attributes: []
}
Badges UserBadge

Access Decision

affirmative Strategy
# Voter class
1
"App\Api\Security\Voter\DeviceRelatedVoter"
2
"App\Api\Security\Voter\DeviceVoter"
3
"App\OAuth\Security\OAuthScopeVoter"

Access decision log

# Result Attributes Object
1 GRANTED OAUTH_SCOPE_parent
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: []
  #charsets: null
  #encodings: null
  #acceptableContentTypes: [
    "application/json"
  ]
  #pathInfo: "/api/devices/019eac94-cff8-79b3-bfae-65cf0238021a/usage-stats"
  #requestUri: "/api/devices/019eac94-cff8-79b3-bfae-65cf0238021a/usage-stats?deviceId=019eac94-cff8-79b3-bfae-65cf0238021a&days=1"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: null
  #session: Symfony\Component\HttpFoundation\Session\Session {#1936 …}
  #locale: "fr"
  #defaultLocale: "fr"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: ? bool
  -trustedValuesCache: []
  -isIisRewrite: false
  basePath: ""
  format: "html"
}
"App\Api\Security\Voter\DeviceRelatedVoter"
ABSTAIN
"App\Api\Security\Voter\DeviceVoter"
ABSTAIN
"App\OAuth\Security\OAuthScopeVoter"
GRANTED
Show voter details
2 GRANTED VIEW
App\Entity\Device {#1474
  +id: Symfony\Component\Uid\UuidV7 {#1460 …}
  +uniqueId: "8efd73d762a7f9fb"
  +name: "tel avec demande de temps"
  +avatarName: null
  +status: App\Enum\DeviceStatus {#1467 …}
  +pairedAt: DateTimeImmutable @1781012358 {#1457
    date: 2026-06-09 15:39:18.0 Europe/Paris (+02:00)
  }
  +geolocationEnabled: false
  +isEnabled: true
  +internetEnabled: true
  +curfewStart: null
  +curfewEnd: null
  +configVersion: 30
  +installedConfigVersion: null
  +lastSeenAt: DateTimeImmutable @1781016976 {#1468
    date: 2026-06-09 16:56:16.0 Europe/Paris (+02:00)
  }
  +fcmToken: "c2AybLC_QximrKIaFl-iX7:APA91bHfYO_W9iXtnEoFVMeI94mX_C9cL8ggFVnCMxT9kRrfwDLdG5s37-lA6f4y8Z_bhk3cvlOlfqhNLh4SFrcU-4Vu9aFxhCSO5RL3pk63ooXiQFHtexo"
  +fcmTokenUpdatedAt: DateTimeImmutable @1781016976 {#1469
    date: 2026-06-09 16:56:16.0 Europe/Paris (+02:00)
  }
  +parent: App\Entity\User {#929 …}
  +dnsProvider: null
  +appPermissionOverrides: Doctrine\ORM\PersistentCollection {#1531 …}
  +contacts: Doctrine\ORM\PersistentCollection {#1562 …}
  +categoryLimits: Doctrine\ORM\PersistentCollection {#1593 …}
  +appUsages: Doctrine\ORM\PersistentCollection {#1628 …}
  +isPaired: ~ bool
  +isOnline: ~ bool
  +displayWarning: ~ bool
  +displayName: ~ string
  +createdAt: DateTimeImmutable @1781011894 {#1470
    date: 2026-06-09 15:31:34.0 Europe/Paris (+02:00)
  }
  +updatedAt: DateTimeImmutable @1781248598 {#1471
    date: 2026-06-12 09:16:38.0 Europe/Paris (+02:00)
  }
}
"App\Api\Security\Voter\DeviceRelatedVoter"
ABSTAIN
"App\Api\Security\Voter\DeviceVoter"
GRANTED
Show voter details