Security

Token

pb@mk-wbc.com Username
Authenticated
Property Value
Roles
[
  "ROLE_ORGANIZATION"
  "ROLE_USER"
]
Inherited Roles none
Token
Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\Token\JWTPostAuthenticationToken {#654
  -user: App\Core\Entity\User\Access {#751 …}
  -roleNames: [
    "ROLE_ORGANIZATION"
    "ROLE_USER"
  ]
  -attributes: []
  -firewallName: "api_admin"
  -token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3ODA3MzQzMTksImV4cCI6MTc4MzMyNjMxOSwicm9sZXMiOlsiUk9MRV9PUkdBTklaQVRJT04iLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJwYkBtay13YmMuY29tIiwiZnVsbG5hbWUiOiJTQSdBIFBPQURKTyIsImVtYWlsIjoicGJAbWstd2JjLmNvbSIsInRva2VuIjoiNmEyM2Q5MmM5MzczNyIsImNvbmZpcm1hdGlvbl90b2tlbiI6IlUyMnpVRlhHMWFvUjFfbmhQelVVSGxubFdOX0ZHM2lKWDFxQkh6WXg2anMiLCJhY3RvciI6eyJpZCI6MzAsImZpcnN0bmFtZSI6IlBPQURKTyIsImxhc3RuYW1lIjoiU0EnQSIsImJpcnRoUGxhY2UiOiIiLCJnZW5kZXIiOiJtYW4ifSwiY29udGV4dFR5cGUiOiJhZG1pbmlzdHJhdG9yIiwid29ya3NwYWNlIjp7ImNvbnRleHRUeXBlIjoiYWRtaW5pc3RyYXRvciIsIm9yZ2FuaXphdGlvbklkIjoxOSwib3JnYW5pemF0aW9uTmFtZSI6IlBPQURKTyBTQSdBIiwiaW1hZ2VzIjp7ImxvZ28iOnsidXJsIjpudWxsfSwiY292ZXIiOnsidXJsIjpudWxsfX19LCJjdXJyZW50X2NvbXBhbnlfaWQiOjE5LCJhY2NvdW50X2lkIjoxOSwicm9sZXNrZXlzIjpbXX0.MIZNq-A73gx9nlXY6WTflH19zgfE4qbSVxGAeupe2sytRjo6C1PykzUrzC6ecMD6nmVnmFrEXbWXFklfypDl9xXzmfYDuBmLaJ6N4-sNRs2oxrDlmgWNRnLoXCNEjggz0AL3hPZiKDmNXfmAG8qFJ7cwy_YJlX4vSI3dtPPZ0HfNYlLGamI1pFan3avw1VQzApUzaL_l18C-5jpvGSxhekZOpt4eKmGvKlQvIxZ8dL8sS81ztqszWWPvSOJd-st-P4jSMShxnT3Fh4PZfTONYSqpniteIxpfODxYkxg7hkgoSPfB-k3Eq9i9he0FH2EmptsEwRJ5tvBguGonbpH8-Q"
}

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 {#376
  -map: Symfony\Component\Security\Http\AccessMap {#377 …}
  -logger: Symfony\Component\HttpKernel\Log\Logger {#39 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#404
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#394 …}
}
69.82 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#1706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#456 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#1710 …}
  -map: Symfony\Component\Security\Http\AccessMap {#377 …}
}
0.29 ms (none)

Authenticators

Authenticator Supports Authenticated Duration Passport Badges
"Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
1.08 ms
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#393
  #user: App\Core\Entity\User\Access {#751 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#411
      -userIdentifier: "pb@mk-wbc.com"
      -userLoader: Closure($userIdentifier) {#413 …}
      -user: App\Core\Entity\User\Access {#751 …}
      -attributes: null
    }
  ]
  -attributes: [
    "payload" => [
      "iat" => 1780734319
      "exp" => 1783326319
      "roles" => [
        "ROLE_ORGANIZATION"
        "ROLE_USER"
      ]
      "username" => "pb@mk-wbc.com"
      "fullname" => "SA'A POADJO"
      "email" => "pb@mk-wbc.com"
      "token" => "6a23d92c93737"
      "confirmation_token" => "U22zUFXG1aoR1_nhPzUUHlnlWN_FG3iJX1qBHzYx6js"
      "actor" => [
        "id" => 30
        "firstname" => "POADJO"
        "lastname" => "SA'A"
        "birthPlace" => ""
        "gender" => "man"
      ]
      "contextType" => "administrator"
      "workspace" => [
        "contextType" => "administrator"
        "organizationId" => 19
        "organizationName" => "POADJO SA'A"
        "images" => [
          "logo" => [
            "url" => null
          ]
          "cover" => [
            "url" => null
          ]
        ]
      ]
      "current_company_id" => 19
      "account_id" => 19
      "roleskeys" => []
    ]
    "token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3ODA3MzQzMTksImV4cCI6MTc4MzMyNjMxOSwicm9sZXMiOlsiUk9MRV9PUkdBTklaQVRJT04iLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJwYkBtay13YmMuY29tIiwiZnVsbG5hbWUiOiJTQSdBIFBPQURKTyIsImVtYWlsIjoicGJAbWstd2JjLmNvbSIsInRva2VuIjoiNmEyM2Q5MmM5MzczNyIsImNvbmZpcm1hdGlvbl90b2tlbiI6IlUyMnpVRlhHMWFvUjFfbmhQelVVSGxubFdOX0ZHM2lKWDFxQkh6WXg2anMiLCJhY3RvciI6eyJpZCI6MzAsImZpcnN0bmFtZSI6IlBPQURKTyIsImxhc3RuYW1lIjoiU0EnQSIsImJpcnRoUGxhY2UiOiIiLCJnZW5kZXIiOiJtYW4ifSwiY29udGV4dFR5cGUiOiJhZG1pbmlzdHJhdG9yIiwid29ya3NwYWNlIjp7ImNvbnRleHRUeXBlIjoiYWRtaW5pc3RyYXRvciIsIm9yZ2FuaXphdGlvbklkIjoxOSwib3JnYW5pemF0aW9uTmFtZSI6IlBPQURKTyBTQSdBIiwiaW1hZ2VzIjp7ImxvZ28iOnsidXJsIjpudWxsfSwiY292ZXIiOnsidXJsIjpudWxsfX19LCJjdXJyZW50X2NvbXBhbnlfaWQiOjE5LCJhY2NvdW50X2lkIjoxOSwicm9sZXNrZXlzIjpbXX0.MIZNq-A73gx9nlXY6WTflH19zgfE4qbSVxGAeupe2sytRjo6C1PykzUrzC6ecMD6nmVnmFrEXbWXFklfypDl9xXzmfYDuBmLaJ6N4-sNRs2oxrDlmgWNRnLoXCNEjggz0AL3hPZiKDmNXfmAG8qFJ7cwy_YJlX4vSI3dtPPZ0HfNYlLGamI1pFan3avw1VQzApUzaL_l18C-5jpvGSxhekZOpt4eKmGvKlQvIxZ8dL8sS81ztqszWWPvSOJd-st-P4jSMShxnT3Fh4PZfTONYSqpniteIxpfODxYkxg7hkgoSPfB-k3Eq9i9he0FH2EmptsEwRJ5tvBguGonbpH8-Q"
  ]
}
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/loyaltys/"
  #requestUri: "/api/business/loyaltys/?numberPerPage=100&currentPage=1&organizationId=13"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: null
  #session: Symfony\Component\HttpFoundation\Session\Session {#4086 …}
  #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_LOYALTY
null
"App\Business\Security\BusinessVoter"
ACCESS DENIED
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_LOYALTY") 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