ToggleTotpEvent

This event is triggered when some users uses the usage-plugin-setup to enable or disable the use of 2FA for their account.

Listening to this event allows you e.g., to synchronize the MFA status with some external system or your own domain model if you happen to relate Frontend users to some other domain model.

Registering a listener

Open your extension's Configuration/Services.yaml file and append:

YourVendor\YourExtension\EventListener\MfaFrontendListener:
  tags:
    - name: event.listener
      identifier: 'yourVendor/yourExtension'
      method: 'toggleTotp'
      event: Causal\MfaFrontend\Event\ToggleTotpEvent

Create Classes/EventListener/MfaFrontendListener.php to read:

<?php
declare(strict_types=1);

namespace YourVendor\YourExtension\EventListener;

use Causal\MfaFrontend\Event\ToggleTotpEvent;

class MfaFrontendListener
{
    public function toggleTotp(ToggleTotpEvent $event): void
    {
        $frontendUser = $event->getUser();
        // Do something like synchronizing the MFA status using:
        // $mfa = $frontendUser->getRawMfa()
    }
}