KeycloakController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. // src/Controller/KeycloakController.php
  3. namespace App\Controller;
  4. use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class KeycloakController extends AbstractController
  9. {
  10. #[Route('/login/keycloak', name: 'app_login_keycloak_connect')]
  11. public function connect(ClientRegistry $clientRegistry): Response
  12. {
  13. // Si Keycloak est désactivé, retour en page d'accueil, sinon..
  14. if ($_ENV['KEYCLOAK_ENABLED']=='true') {
  15. return $clientRegistry->getClient('keycloak')->redirect(['openid', 'profile', 'email']);
  16. } else {
  17. $this->addFlash('danger', 'Keycloak non configuré.');
  18. return $this->redirectToRoute('app_login');
  19. }
  20. }
  21. #[Route('/login/keycloak/check', name: 'app_login_keycloak_connect_check')]
  22. public function connectCheck(): Response
  23. {
  24. // Si Keycloak est désactivé, retour en page d'accueil, sinon..
  25. if ($_ENV['KEYCLOAK_ENABLED']=='true') {
  26. return $this->redirectToRoute('app_main');
  27. } else {
  28. $this->addFlash('danger', 'Keycloak non configuré.');
  29. return $this->redirectToRoute('app_login');
  30. }
  31. }
  32. }