Authorization Collector
Captures authentication and authorization data — user identity, roles, tokens, access decisions, guards, role hierarchy, and impersonation status.

What It Captures
| Field | Description |
|---|---|
username | Authenticated user identifier |
roles | Assigned roles |
effectiveRoles | Roles after hierarchy resolution |
authenticated | Whether the user is authenticated |
firewallName | Active firewall/guard name |
token | Auth token details (type, attributes, expiration) |
impersonation | Impersonation data (original and impersonated user) |
guards | Registered authentication guards |
roleHierarchy | Role inheritance tree |
authenticationEvents | Login/logout/failure events |
accessDecisions | Authorization check results (granted/denied) |
Data Schema
{
"username": "admin@example.com",
"roles": ["ROLE_ADMIN"],
"effectiveRoles": ["ROLE_ADMIN", "ROLE_USER"],
"firewallName": "main",
"authenticated": true,
"token": {
"type": "Bearer",
"attributes": {},
"expiresAt": "2026-03-31T23:59:59+00:00"
},
"impersonation": null,
"guards": [
{"name": "main", "provider": "users", "config": {}}
],
"roleHierarchy": {"ROLE_ADMIN": ["ROLE_USER"]},
"authenticationEvents": [
{"type": "login", "provider": "form", "result": "success", "time": 1711878000.1, "details": {}}
],
"accessDecisions": [
{"attribute": "ROLE_ADMIN", "subject": "route:/admin", "result": "granted", "voters": [...], "duration": 0.0001, "context": {}}
]
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Summary (shown in debug entry list):
{
"authorization": {
"username": "admin@example.com",
"authenticated": true,
"roles": ["ROLE_ADMIN"],
"accessDecisions": {"total": 3, "granted": 3, "denied": 0},
"authEvents": 1
}
}2
3
4
5
6
7
8
9
Contract
use AppDevPanel\Kernel\Collector\AuthorizationCollector;
$collector->collectUser(
username: 'admin@example.com',
roles: ['ROLE_ADMIN'],
authenticated: true,
);
$collector->collectFirewall(firewallName: 'main');
$collector->collectToken(type: 'Bearer', attributes: [], expiresAt: '2026-03-31T23:59:59+00:00');
$collector->collectRoleHierarchy(hierarchy: ['ROLE_ADMIN' => ['ROLE_USER']]);
$collector->collectEffectiveRoles(effectiveRoles: ['ROLE_ADMIN', 'ROLE_USER']);
$collector->logAccessDecision(
attribute: 'ROLE_ADMIN',
subject: 'route:/admin',
result: 'granted',
voters: [...],
);2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
INFO
AuthorizationCollectorAppDevPanel\Kernel\Collector\AuthorizationCollectorCaptures authentication and authorization data.final Kernel · class · implements SummaryCollectorInterface implements SummaryCollectorInterfaceAppDevPanel\Kernel\Collector\SummaryCollectorInterfaceSummary data collector responsibility is to collect summary data for a collector. Summary is used to display a list of previous requests and select one to display full info. Its data set is specific to the list and is reduced compared to full data collected in {@see CollectorInterface}.Kernel · interface · extends CollectorInterface. It has no dependencies on other collectors.
How It Works
Framework adapters extract authentication state from the security component:
- Symfony: Security token, firewall, voter results via event listeners
- Laravel: Auth guards, Gate authorization checks
- Yii 3: Identity interface and RBAC system
Debug Panel
- User identity — username, authentication status, roles
- Access decisions — list of authorization checks with granted/denied results
- Role hierarchy — visual role inheritance tree
- Auth events — login, logout, and failure events
- Token details — token type, attributes, and expiration