Events
How to use Symfony events
With the Symfony Bundle, you will be able to listen or subscribe to events.
All events can be found in the class Jose\Bundle\JoseFramework\Event\Events.
JWS:
Events::JWS_BUILT_SUCCESS
Events::JWS_BUILT_FAILURE
Events::JWS_VERIFICATION_SUCCESS
Events::JWS_VERIFICATION_FAILURE
Events::JWS_LOADING_SUCCESS
Events::JWS_LOADING_FAILURE
JWE:
Events::JWE_BUILT_SUCCESS
Events::JWE_BUILT_FAILURE
Events::JWE_DECRYPTION_SUCCESS
Events::JWE_DECRYPTION_FAILURE
Events::JWE_LOADING_SUCCESS
Events::JWE_LOADING_FAILURE
Nested Tokens:
Events::NESTED_TOKEN_ISSUED Events::NESTED_TOKEN_LOADING_SUCCESS Events::NESTED_TOKEN_LOADING_FAILURE
Checked Header:
Events::HEADER_CHECK_SUCCESS
Events::HEADER_CHECK_FAILURE
Checked Claim:
Events::CLAIM_CHECK_SUCCESS
Events::CLAIM_CHECK_FAILURE
Example:
<?php
declare(strict_types=1);
namespace App\EventSubscriber;
use Jose\Bundle\JoseFramework\Event\Events;
use Jose\Bundle\JoseFramework\Event\JWSBuiltSuccessEvent;
use Jose\Bundle\JoseFramework\Event\JWSVerificationFailureEvent;
use Jose\Bundle\JoseFramework\Event\JWSVerificationSuccessEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class JwsSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            Events::JWS_VERIFICATION_SUCCESS => ['onJwsVerificationSuccess'],
            Events::JWS_VERIFICATION_FAILURE => ['onJwsVerificationFailure'],
            Events::JWS_BUILT_SUCCESS => ['onJwsBuiltSuccess'],
            Events::JWS_BUILT_FAILURE => ['onJwsBuiltFailure'],
        ];
    }
    public function onJwsVerificationSuccess(JWSVerificationSuccessEvent $event): void
    {
        // Do something here
    }
    public function onJwsVerificationFailure(JWSVerificationFailureEvent $event): void
    {
        // Do something here
    }
    public function onJwsBuiltSuccess(JWSBuiltSuccessEvent $event): void
    {
        // Do something here
    }
    public function onJwsBuiltFailure(JWSBuiltFailureEvent $event): void
    {
        // Do something here
    }
}Was this helpful?