GET http://api.stg.mymovement.app/collections?searchString=

Security

Token

d9fbe769-7433-4b9d-a2f3-2bebb73c9b5b Username
Authenticated
Property Value
Roles
[
  "ROLE_API"
  "ROLE_USER"
]
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"
  ]
  -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.35 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#555
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#541 …}
}
4.43 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.25 ms (none)

Authenticators

Status Authenticator
success
"IDCI\Bundle\KeycloakSecurityBundle\Security\Authenticator\KeycloakBearerAuthenticator"
Lazy no
Duration 0.05 ms
Passport
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#1200
  #user: IDCI\Bundle\KeycloakSecurityBundle\Security\User\KeycloakBearerUser {#1251 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#1201
      -userLoader: Closure() {#1202 …}
      -user: IDCI\Bundle\KeycloakSecurityBundle\Security\User\KeycloakBearerUser {#1251 …}
      -identifierNormalizer: null
      -userIdentifier: "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ5dHFSamsyQVp4VjRLclNvamtBX3Y3RjNPeVdPUDJ5bjh4QTc2OXRnUTE4In0.eyJleHAiOjE3ODM4NTIzNDQsImlhdCI6MTc4Mzg1MjA0NCwiYXV0aF90aW1lIjoxNzc2MDI3OTI0LCJqdGkiOiJvZnJ0cnQ6NTJlYzVlYWQtYmFhOS03ZWMzLWYwYTYtZDFiYzM5N2MxYjkwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLm15bW92ZW1lbnQuYXBwL3JlYWxtcy9teW1vdmVtZW50IiwiYXVkIjpbImFwcC1jbGllbnQiLCJqd3QtY2xpZW50Il0sInN1YiI6ImQ5ZmJlNzY5LTc0MzMtNGI5ZC1hMmYzLTJiZWJiNzNjOWI1YiIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwcC1jbGllbnQiLCJzaWQiOiJhYmMxZTFiMy03YWRkLTRiYzMtYjUxMi1iNWZhNWQ3ZmQzYzkiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIiIsIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtbXltb3ZlbWVudCIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJqd3QtY2xpZW50Ijp7InJvbGVzIjpbIlJPTEVfQVBJIiwiUk9MRV9VU0VSIl19fSwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiRGllZGVyaWtlICBFaWxlcnMiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkaWVkZXJpa2UuZWlsZXJzQGdtYWlsLmNvbSIsImdpdmVuX25hbWUiOiJEaWVkZXJpa2UgIiwiZmFtaWx5X25hbWUiOiJFaWxlcnMiLCJlbWFpbCI6ImRpZWRlcmlrZS5laWxlcnNAZ21haWwuY29tIn0.MCHDJ6jm2cBIEvJClaXK6xhf4VVOv-Q6Kqb1wYzOzs1dVIP6w7t7hSQyh0roKOl-rr8_o1M_urwiZ7fOM7I3UtEJ_jcQMPdURjSEzOMMRe_mUXfZmZAuHUrSJNZhKBWKtBJKw6StISOmchYH6CIiRzO5u05OhH5kxcAo-zDSSw_UoomFm9ILLU_iMR7JGVWfKkK3H5LOT88ibDLinqBWXzvF_MXok8UKP8gGsBUqTuWZOZbf5RBg2bkLKuoIXeeLrND-SMFTiXK2d32RBvR2WpvPKDCj-XKR1KtMj7pYhz8MLO-1uSM9vE6fXW8xszvb41ktdjuICl5-pM8TAr0fCQ"
      -attributes: null
    }
  ]
  -attributes: []
}
Badges UserBadge

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"

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: "/collections"
  #requestUri: "/collections?searchString="
  #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
  basePath: ""
  format: "html"
}
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
GRANTED
The user has ROLE_API.
Show voter details