<?php
namespace App\EventListener;
use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent;
class JWTAuthenticatedSuccessListener
{
public function onJWTAuthenticatedSuccess(AuthenticationSuccessEvent $event)
{
$token = $event->getData();
if (!$event->getUser()->getIsActive()) {
$event->setData([
'code' => 401,
'message' => 'This user has been deactivated.'
]);
} else if ($event->getUser()->getIsAccessMicrosoft()) {
$event->setData([
'code' => 401,
'message' => 'Your account is enabled to use SSO only.'
]);
} else {
$event->setData([
'token' => $token['token']
]);
}
}
}