From 938ab2371ad5cf648b5183b5599c855840f4e33f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nu=C5=A1a=20Puk=C5=A1i=C4=8D?= Date: Fri, 10 Oct 2025 13:27:29 +0200 Subject: [PATCH] Fix login --- src/Security/UserDTOProvider.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Security/UserDTOProvider.php b/src/Security/UserDTOProvider.php index 5bf42d0..ff50de8 100644 --- a/src/Security/UserDTOProvider.php +++ b/src/Security/UserDTOProvider.php @@ -4,6 +4,7 @@ namespace App\Security; use App\Entity\User; use App\Service\RedisCacheService; +use App\Util\NostrKeyUtil; use Doctrine\ORM\EntityManagerInterface; use Psr\Log\LoggerInterface; use Symfony\Component\Security\Core\User\UserInterface; @@ -40,7 +41,13 @@ readonly class UserDTOProvider implements UserProviderInterface $this->logger->info('Refresh user.', ['user' => $user->getUserIdentifier()]); $freshUser = $this->entityManager->getRepository(User::class) ->findOneBy(['npub' => $user->getUserIdentifier()]); - $metadata = $this->redisCacheService->getMetadata($user->getUserIdentifier()); + try { + $pubkey = NostrKeyUtil::npubToHex($user->getUserIdentifier()); + } catch (\InvalidArgumentException $e) { + $this->logger->error('Invalid npub identifier.', ['npub' => $user->getUserIdentifier()]); + throw $e; + } + $metadata = $this->redisCacheService->getMetadata($pubkey); $freshUser->setMetadata($metadata); return $freshUser; } @@ -75,7 +82,13 @@ readonly class UserDTOProvider implements UserProviderInterface $this->entityManager->flush(); } - $metadata = $this->redisCacheService->getMetadata($identifier); + try { + $pubkey = NostrKeyUtil::npubToHex($identifier); + } catch (\InvalidArgumentException $e) { + $this->logger->error('Invalid npub identifier.', ['npub' => $identifier]); + throw $e; + } + $metadata = $this->redisCacheService->getMetadata($pubkey); $user->setMetadata($metadata); $this->logger->debug('User metadata set.', ['metadata' => json_encode($user->getMetadata())]);