From dbb032d66d03003ab4b57036bdb9b908e96f4691 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 18 Jan 2024 15:44:36 +0100 Subject: [PATCH] login data --- README.md | 3 + config/services.yaml | 5 + src/Entity/ApiToken.php | 93 ------------------- .../AuthenticationSuccessListener.php | 36 +++++++ 4 files changed, 44 insertions(+), 93 deletions(-) delete mode 100644 src/Entity/ApiToken.php create mode 100644 src/EventListener/AuthenticationSuccessListener.php diff --git a/README.md b/README.md index b44dae6..9d23d9c 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,9 @@ # Ddev Commands: ddev describe - zeigt Urls und installierte Komponenten + +# Xdebug + ddev ssh -> export XDEBUG_CONFIG="idekey=PHPSTORM" ------------------------- # Symfony: diff --git a/config/services.yaml b/config/services.yaml index 2d6a76f..33b2e72 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -22,3 +22,8 @@ services: # add more service definitions when explicit configuration is needed # please note that last definitions always *replace* previous ones + + acme_api.event.authentication_success_listener: + class: App\EventListener\AuthenticationSuccessListener + tags: + - { name: kernel.event_listener, event: lexik_jwt_authentication.on_authentication_success, method: onAuthenticationSuccessResponse } \ No newline at end of file diff --git a/src/Entity/ApiToken.php b/src/Entity/ApiToken.php deleted file mode 100644 index 4090105..0000000 --- a/src/Entity/ApiToken.php +++ /dev/null @@ -1,93 +0,0 @@ -token = $tokenType.bin2hex(random_bytes(32)); - } - - public function getId(): ?int - { - return $this->id; - } - - public function getOwnedBy(): ?User - { - return $this->ownedBy; - } - - public function setOwnedBy(?User $ownedBy): self - { - $this->ownedBy = $ownedBy; - - return $this; - } - - public function getExpiresAt(): ?\DateTimeImmutable - { - return $this->expiresAt; - } - - public function setExpiresAt(?\DateTimeImmutable $expiresAt): self - { - $this->expiresAt = $expiresAt; - - return $this; - } - - public function getToken(): ?string - { - return $this->token; - } - - public function setToken(string $token): self - { - $this->token = $token; - - return $this; - } - - public function getScopes(): array - { - return $this->scopes; - } - - public function setScopes(array $scopes): self - { - $this->scopes = $scopes; - - return $this; - } - - public function isValid(): bool - { - return $this->expiresAt === null || $this->expiresAt > new \DateTimeImmutable(); - } -} diff --git a/src/EventListener/AuthenticationSuccessListener.php b/src/EventListener/AuthenticationSuccessListener.php new file mode 100644 index 0000000..ae3c082 --- /dev/null +++ b/src/EventListener/AuthenticationSuccessListener.php @@ -0,0 +1,36 @@ + + * @date 18.01.24 + */ + + +namespace App\EventListener; + + +use App\Entity\User; +use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent; +use Symfony\Component\Security\Core\User\UserInterface; + +class AuthenticationSuccessListener +{ + /** + * @param AuthenticationSuccessEvent $event + */ + public function onAuthenticationSuccessResponse(AuthenticationSuccessEvent $event): void + { + $data = $event->getData(); + $user = $event->getUser(); + + if (!$user instanceof User) { + return; + } + + $data['email'] = $user->getEmail(); + $data['firstName'] = $user->getFirstName(); + $data['lastName'] = $user->getLastName(); + $data['roles'] = $user->getRoles(); + + $event->setData($data); + } +} \ No newline at end of file