GET https://vps-32bc7fac.vps.ovh.ca/api/courseworks/576

Security

Token

nezha@monarkit.net Username
Authenticated
Property Value
Roles
[
  "ROLE_TEACHER"
  "ROLE_USER"
]
Inherited Roles none
Token
Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\Token\JWTPostAuthenticationToken {#1391
  -user: App\Entity\Teacher {#1317 …}
  -roleNames: [
    "ROLE_TEACHER"
    "ROLE_USER"
  ]
  -attributes: []
  -firewallName: "main"
  -token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NTA5NTg2MjIsImV4cCI6MTc1ODczNDYyMiwicm9sZXMiOlsiUk9MRV9URUFDSEVSIiwiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoibmV6aGFAbW9uYXJraXQubmV0In0.SHZlAVNOBMKGNwvTPtge4ymt9z2Vjwo7kqAzJ8d0kWVJPAbZhMKks0dINCSGhqXFBMhfZ5gx2cDcXsDLWxC-61wK-O5qSLkslBm1PtavnED1EAc8eKD1f4i2ECSDBVZK1TzIOGJIwPRHSg35-gMQ0gcfXKr9_RydwvngvGukdPkOvfxVbzgdmTFWttJFyZSN_WmrUQoYJyHSwT4dfCWqRKeZywD_UXxxZD-VNMZwCrG94yVs2Y4qyt5cdo65JeGALLzFC3f1hAUuTP6jy726kNsDIaAfYK5Woc0uCq0WKTsy9k2spzVUN-iIiaZw1igzr2Vn-MGRWUtiav71Yu4MHQ"
}

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider App\Security\UserProvider
context (none)
entry_point security.authenticator.jwt.main
user_checker security.user_checker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "jwt"
  "json_login"
  "refresh_jwt"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#1017
  -map: Symfony\Component\Security\Http\AccessMap {#1018 …}
  -logger: Monolog\Logger {#1008 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#1102
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#1089 …}
}
9.99 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#1105
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#415 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#425 …}
  -map: Symfony\Component\Security\Http\AccessMap {#1018 …}
}
0.60 ms (none)

Authenticators

Authenticator Supports Authenticated Duration Passport Badges
"Symfony\Component\Security\Http\Authenticator\JsonLoginAuthenticator"
0.00 ms (none) (none)
"Gesdinet\JWTRefreshTokenBundle\Security\Http\Authenticator\RefreshTokenAuthenticator"
0.00 ms (none) (none)
"Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
1.72 ms
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#1106
  #user: App\Entity\Teacher {#1317 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#1110
      -userIdentifier: "nezha@monarkit.net"
      -userLoader: Closure($userIdentifier) {#1112 …}
      -user: App\Entity\Teacher {#1317 …}
      -attributes: null
    }
  ]
  -attributes: [
    "payload" => [
      "iat" => 1750958622
      "exp" => 1758734622
      "roles" => [
        "ROLE_TEACHER"
        "ROLE_USER"
      ]
      "username" => "nezha@monarkit.net"
    ]
    "token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NTA5NTg2MjIsImV4cCI6MTc1ODczNDYyMiwicm9sZXMiOlsiUk9MRV9URUFDSEVSIiwiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoibmV6aGFAbW9uYXJraXQubmV0In0.SHZlAVNOBMKGNwvTPtge4ymt9z2Vjwo7kqAzJ8d0kWVJPAbZhMKks0dINCSGhqXFBMhfZ5gx2cDcXsDLWxC-61wK-O5qSLkslBm1PtavnED1EAc8eKD1f4i2ECSDBVZK1TzIOGJIwPRHSg35-gMQ0gcfXKr9_RydwvngvGukdPkOvfxVbzgdmTFWttJFyZSN_WmrUQoYJyHSwT4dfCWqRKeZywD_UXxxZD-VNMZwCrG94yVs2Y4qyt5cdo65JeGALLzFC3f1hAUuTP6jy726kNsDIaAfYK5Woc0uCq0WKTsy9k2spzVUN-iIiaZw1igzr2Vn-MGRWUtiav71Yu4MHQ"
  ]
}
UserBadge

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Symfony\Component\Security\Core\Authorization\Voter\RoleVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
4
"App\Security\Voter\RouteAccessVoter"

Access decision log

# Result Attributes Object
1 GRANTED ACCESS_ROUTE
null
"App\Security\Voter\RouteAccessVoter"
ACCESS GRANTED
Show voter details
2 GRANTED Expression:
is_granted('ACCESS_ROUTE')
Symfony\Component\HttpFoundation\Request {#2
  +attributes: Symfony\Component\HttpFoundation\ParameterBag {#16 …}
  +request: Symfony\Component\HttpFoundation\InputBag {#10 …}
  +query: Symfony\Component\HttpFoundation\InputBag {#13 …}
  +server: Symfony\Component\HttpFoundation\ServerBag {#19 …}
  +files: Symfony\Component\HttpFoundation\FileBag {#18 …}
  +cookies: Symfony\Component\HttpFoundation\InputBag {#17 …}
  +headers: Symfony\Component\HttpFoundation\HeaderBag {#20 …}
  #content: ""
  #languages: null
  #charsets: null
  #encodings: null
  #acceptableContentTypes: [
    "*/*"
  ]
  #pathInfo: "/api/courseworks/576"
  #requestUri: "/api/courseworks/576"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: "jsonld"
  #session: Closure() {#710 …}
  #locale: null
  #defaultLocale: "en"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: ? bool
  -trustedValuesCache: []
  -isIisRewrite: false
  basePath: ""
}
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
ACCESS GRANTED
Show voter details