src/Controller/HomeController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\KcAttributeKey;
  4. use App\Entity\KcUser;
  5. use App\Service\KeycloakClientFactory;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class HomeController extends AbstractController
  11. {
  12.     private $entityManager;
  13.     public function __construct(
  14.                 EntityManagerInterface $entityManager
  15.             ) 
  16.     {
  17.         $this->entityManager $entityManager;
  18.     }
  19.     #[Route('/'name'index')]
  20.     public function index(): Response
  21.     {
  22.         return $this->redirectToRoute('login');
  23.     }
  24.     #[Route('/dump/{currentRequest}'name'dump')]
  25.     #[IsGranted('ROLE_TALPAWORLD')]
  26.     public function dump(KeycloakClientFactory $keycloakClientFactory$currentRequest): Response
  27.     {
  28.         return $this->render('dump.html.twig', ([
  29.             'dump' => [
  30.                 'dump' => $currentRequest,
  31.             ]
  32.         ]));
  33.         $dump = [];
  34.         /*
  35.         $requestData = [
  36.             'realm' => '164951-test',
  37.             'username' => $kcUser->getUsername(),
  38.             'exact' => 'true',
  39.             'briefRepresentation' => true,
  40.             'max' => 1,
  41.         ];
  42.         $dump = $keycloakClientFactory->getKeycloakResponse($this->getUser()->getRealm(), 'getUsers', $requestData);
  43.         */
  44.         $realm $this->getUser()->getRealm();
  45.         $entity $this->entityManager->getRepository(KcUser::class)->findOneBy(['realm' => $realm'username' => 'tobi']);
  46.         //$defaultAttributesKeys = array_column($this->entityManager->getRepository(KcAttributeKey::class)->findBy(['realm' => $realm, 'mandatory' => true]), 'attributeKey');
  47.         $defaultAttributesKeys $this->entityManager->getRepository(KcAttributeKey::class)->findBy(['realm' => $realm'mandatory' => true]);
  48.         $defaultAttributesKeysArray = [];
  49.         foreach ($defaultAttributesKeys as $defaultAttributesKey) {
  50.             $defaultAttributesKeysArray[$defaultAttributesKey->getAttributeKey()] = $defaultAttributesKey->getAttributeKey();
  51.         }
  52.         $diffArray array_diff_key($defaultAttributesKeys$entity->getKcUserAttributes()->toArray());
  53.         return $this->render('dump.html.twig', ([
  54.             'dump' => [
  55.                 'defaultAttributesKeys' => $defaultAttributesKeysArray,
  56.                 'diffArray' => $diffArray,
  57.             ]
  58.         ]));
  59.     }
  60. }