['onJWTAuthenticated', 0], ]; } public function onJWTAuthenticated(JWTAuthenticatedEvent $event): void { $payload = $event->getPayload(); if (!(array_key_exists('dav', $payload) && 1 === $payload['dav'])) { return; } $token = $event->getToken(); $token->setAttribute(self::ACTIONS, match ($payload['e']) { 0 => StoredObjectRoleEnum::SEE, 1 => StoredObjectRoleEnum::EDIT, default => throw new \UnexpectedValueException('unsupported value for e parameter') }); $token->setAttribute(self::STORED_OBJECT, $payload['so']); } }