Skip to content

Events

When a new device/context is detected, the bundle dispatches a AuthenticationLogEvents::NEW_DEVICE event. You can listen to it for custom processing (logging, analytics, etc.):

php
use Spiriit\Bundle\AuthLogBundle\Listener\AuthenticationLogEvent;
use Spiriit\Bundle\AuthLogBundle\Listener\AuthenticationLogEvents;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;

#[AsEventListener(event: AuthenticationLogEvents::NEW_DEVICE)]
final class NewDeviceListener
{
    public function __invoke(AuthenticationLogEvent $event): void
    {
        $userIdentifier = $event->userIdentifier();
        $userClass = $event->userIdentity()->userClass;
        $userInformation = $event->userInformation();
        $authenticationLog = $event->authenticationLog();

        // your custom logic here
    }
}

INFO

Persistence and notification are handled automatically by the bundle. You do not need to listen to this event for the bundle to work.

Available events

All constants live on AuthenticationLogEvents.

ConstantEvent classDispatched when
NEW_DEVICEAuthenticationLogEventa login from an unknown context is detected
LOGIN_ACKNOWLEDGEDAuthenticationLogConfirmationEventthe user confirms the login was theirs
LOGIN_DISAVOWEDAuthenticationLogConfirmationEventthe user reports the login was not theirs

The last two require the login confirmation feature.

LOGIN_DISAVOWED is dispatched after the configured disavowal reactions have run — when your listener receives it, the built-in protections are already in place.

Built and maintained by Spiriit — released under the MIT License.