All pages
Powered by GitBook
1 of 1

Loading...

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

  • 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:

Events::JWE_DECRYPTION_FAILURE

  • Events::JWE_LOADING_SUCCESS

  • Events::JWE_LOADING_FAILURE

  • App\EventSubscriber\JwsSubscriber.php
    <?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
        }
    }