Security

Token

idamagnee@gmail.com Username
Authenticated
Property Value
Roles
[
  "ROLE_ORGANIZATION"
  "ROLE_USER"
]
Inherited Roles none
Token
Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\Token\JWTPostAuthenticationToken {#575
  -user: App\Core\Entity\User\Access {#759 …}
  -roleNames: [
    "ROLE_ORGANIZATION"
    "ROLE_USER"
  ]
  -attributes: []
  -firewallName: "api_admin"
  -token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NzU0ODA3NDIsImV4cCI6MTc3ODA3Mjc0Miwicm9sZXMiOlsiUk9MRV9PUkdBTklaQVRJT04iLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJpZGFtYWduZWVAZ21haWwuY29tIiwiZnVsbG5hbWUiOiJNYWduZSBJZGEiLCJlbWFpbCI6ImlkYW1hZ25lZUBnbWFpbC5jb20iLCJ0b2tlbiI6IjY5Y2QxMjIzMGM0NzgiLCJjb25maXJtYXRpb25fdG9rZW4iOiJxM2E1SEVtenNxcmNmYWtETEszaDRLY2tSaU5QS0l0cF9tY2psVDVPLVBBIiwiYWN0b3IiOnsiaWQiOjMsImZpcnN0bmFtZSI6IklkYSIsImxhc3RuYW1lIjoiTWFnbmUiLCJiaXJ0aFBsYWNlIjoiIiwiZ2VuZGVyIjoid29tYW4ifSwiY29udGV4dFR5cGUiOiJhZG1pbmlzdHJhdG9yIiwid29ya3NwYWNlIjp7ImNvbnRleHRUeXBlIjoiYWRtaW5pc3RyYXRvciIsIm9yZ2FuaXphdGlvbklkIjoyLCJvcmdhbml6YXRpb25OYW1lIjoiR0FSQUdFIE1vYmlsZSJ9LCJjdXJyZW50X2NvbXBhbnlfaWQiOjIsImFjY291bnRfaWQiOjIsInJvbGVza2V5cyI6W119.EH5wmPVUrHibIvNOkrmjlWA4Sm3oPUkDtqZ7NFvLb7A2cu0G7Jk6idI_DZqU6RF69LynhDNLUvthxBq8cS2HEbIFGG036JL69Q2waOE--4EM5YedTiBDLtLeC_8-BxvwYe1Kupm45Nq4q9MjelTJAJooIR9q6hfNSNZXfu28STjZv-fT81z8oEyK7aX1wkFJtd1j5EmoHfqQTshiwPeYTmCrufidYcLyuP65Y_C6nVlcpzWqpgNo76w-vcHCTCmlp9q8VJJ3uFzZ8-Cy4D6Nyzrc3noKo5-KiVORYYni7b18P3497bL-PHGn4BovoJpGsv3jAZDVZqoJ-Vfft6z1KA"
}

Firewall

api_admin Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_db_users_provider
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 {#358
  -map: Symfony\Component\Security\Http\AccessMap {#359 …}
  -logger: Symfony\Component\HttpKernel\Log\Logger {#39 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#386
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#376 …}
}
69.82 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#1833
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#431 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#1840 …}
  -map: Symfony\Component\Security\Http\AccessMap {#359 …}
}
0.26 ms (none)

Authenticators

Authenticator Supports Authenticated Duration Passport Badges
"Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
1.06 ms
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#375
  #user: App\Core\Entity\User\Access {#759 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#287
      -userIdentifier: "idamagnee@gmail.com"
      -userLoader: Closure($userIdentifier) {#292 …}
      -user: App\Core\Entity\User\Access {#759 …}
      -attributes: null
    }
  ]
  -attributes: [
    "payload" => [
      "iat" => 1775480742
      "exp" => 1778072742
      "roles" => [
        "ROLE_ORGANIZATION"
        "ROLE_USER"
      ]
      "username" => "idamagnee@gmail.com"
      "fullname" => "Magne Ida"
      "email" => "idamagnee@gmail.com"
      "token" => "69cd12230c478"
      "confirmation_token" => "q3a5HEmzsqrcfakDLK3h4KckRiNPKItp_mcjlT5O-PA"
      "actor" => [
        "id" => 3
        "firstname" => "Ida"
        "lastname" => "Magne"
        "birthPlace" => ""
        "gender" => "woman"
      ]
      "contextType" => "administrator"
      "workspace" => [
        "contextType" => "administrator"
        "organizationId" => 2
        "organizationName" => "GARAGE Mobile"
      ]
      "current_company_id" => 2
      "account_id" => 2
      "roleskeys" => []
    ]
    "token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NzU0ODA3NDIsImV4cCI6MTc3ODA3Mjc0Miwicm9sZXMiOlsiUk9MRV9PUkdBTklaQVRJT04iLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJpZGFtYWduZWVAZ21haWwuY29tIiwiZnVsbG5hbWUiOiJNYWduZSBJZGEiLCJlbWFpbCI6ImlkYW1hZ25lZUBnbWFpbC5jb20iLCJ0b2tlbiI6IjY5Y2QxMjIzMGM0NzgiLCJjb25maXJtYXRpb25fdG9rZW4iOiJxM2E1SEVtenNxcmNmYWtETEszaDRLY2tSaU5QS0l0cF9tY2psVDVPLVBBIiwiYWN0b3IiOnsiaWQiOjMsImZpcnN0bmFtZSI6IklkYSIsImxhc3RuYW1lIjoiTWFnbmUiLCJiaXJ0aFBsYWNlIjoiIiwiZ2VuZGVyIjoid29tYW4ifSwiY29udGV4dFR5cGUiOiJhZG1pbmlzdHJhdG9yIiwid29ya3NwYWNlIjp7ImNvbnRleHRUeXBlIjoiYWRtaW5pc3RyYXRvciIsIm9yZ2FuaXphdGlvbklkIjoyLCJvcmdhbml6YXRpb25OYW1lIjoiR0FSQUdFIE1vYmlsZSJ9LCJjdXJyZW50X2NvbXBhbnlfaWQiOjIsImFjY291bnRfaWQiOjIsInJvbGVza2V5cyI6W119.EH5wmPVUrHibIvNOkrmjlWA4Sm3oPUkDtqZ7NFvLb7A2cu0G7Jk6idI_DZqU6RF69LynhDNLUvthxBq8cS2HEbIFGG036JL69Q2waOE--4EM5YedTiBDLtLeC_8-BxvwYe1Kupm45Nq4q9MjelTJAJooIR9q6hfNSNZXfu28STjZv-fT81z8oEyK7aX1wkFJtd1j5EmoHfqQTshiwPeYTmCrufidYcLyuP65Y_C6nVlcpzWqpgNo76w-vcHCTCmlp9q8VJJ3uFzZ8-Cy4D6Nyzrc3noKo5-KiVORYYni7b18P3497bL-PHGn4BovoJpGsv3jAZDVZqoJ-Vfft6z1KA"
  ]
}
UserBadge

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
4
"App\Business\Security\BusinessVoter"

Access decision log

# Result Attributes Object
1 GRANTED IS_AUTHENTICATED_FULLY
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: null
  #pathInfo: "/api/business/roles/"
  #requestUri: "/api/business/roles/?numberPerPage=100&currentPage=1&query=&fromDate=&toDate="
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: null
  #session: Symfony\Component\HttpFoundation\Session\Session {#3123 …}
  #locale: null
  #defaultLocale: "en"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: ? bool
  -trustedValuesCache: []
  -isIisRewrite: false
  basePath: ""
  format: "html"
}
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
ACCESS GRANTED
Show voter details
2 DENIED CAN_VIEW_BUSINESS_ROLE
null
"App\Business\Security\BusinessVoter"
ACCESS ABSTAIN
Show voter details
3 GRANTED ROLE_ORGANIZATION
null
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS GRANTED
Show voter details
4 GRANTED Expression:
is_granted("CAN_VIEW_BUSINESS_ROLE") or is_granted("ROLE_ORGANIZATION")
null
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
ACCESS GRANTED
Show voter details