✨ feat(security): Ajoute l'authentification Keycloak SSO et migre les commandes
Supprime la commande AccountCommand, la migration et ajoute l'authentification
Keycloak SSO. Crée les vues de base pour le tableau de bord.
```
36 lines
1.0 KiB
PHP
36 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Service\Mailer;
|
|
|
|
use App\Service\Mailer\Event\CreatedAdminEvent;
|
|
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
|
|
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
|
|
|
#[AsEventListener(event: CreatedAdminEvent::class, method: 'onAdminEvent')]
|
|
class MailerSubscriber
|
|
{
|
|
public function __construct(
|
|
private readonly UrlGeneratorInterface $urlGenerator,
|
|
private readonly Mailer $mailer
|
|
) {
|
|
}
|
|
|
|
public function onAdminEvent(CreatedAdminEvent $createdAdminEvent): void
|
|
{
|
|
$account = $createdAdminEvent->getAccount();
|
|
$password = $createdAdminEvent->getPassword();
|
|
|
|
$this->mailer->send(
|
|
$account->getEmail(),
|
|
$account->getUsername(),
|
|
"[LudikEvent] - Création d'un compte administrateur",
|
|
"mails/new_admin.twig",
|
|
[
|
|
'username' => $account->getUsername(),
|
|
'password' => $password,
|
|
'url' => $this->urlGenerator->generate('app_home'),
|
|
]
|
|
);
|
|
}
|
|
}
|