События ядра в классе KernelEvents.
По идее просто вешаетесть на kernel.request. В методе обработчике ваш код будет
Должно получится что-то типа этого:
class AutenticatorListener
{
    private $securityContext;
    private $firewall;
    public function __construct(SecurityContext $securityContext, $firewall)
    {
        $this->securityContext = $securityContext;
        $this->firewall        = $firewall;
    }
    public function checkLogin(GetResponseEvent $event)
    {
        if (HttpKernel::SUB_REQUEST == $event->getRequestType()) {
            return;
        }
        $request = $event->getRequest();
        // ...  ваш код
        //....
        //....
        $token = new UsernamePasswordToken($user, null, $this->firewall, $user->getRoles());
        $this->securityContext->setToken($token);
    }
}