SSO #1
|
|
@ -5,10 +5,8 @@ namespace App\Controller;
|
|||
use App\Service\AccessTokenService;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\LogLevel;
|
||||
use SessionHandlerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Bundle\SecurityBundle\Security;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Attribute\Route;
|
||||
|
|
@ -45,37 +43,20 @@ class SecurityController extends AbstractController
|
|||
#[Route(path: '/sso_logout', name: 'sso_logout')]
|
||||
public function ssoLogout(RequestStack $stack, LoggerInterface $logger, AccessTokenService $accessTokenService, Security $security): Response
|
||||
{
|
||||
|
||||
// Invalidate the session and revoke tokens
|
||||
try{
|
||||
if( $stack->getSession()->invalidate()){
|
||||
$accessTokenService->revokeTokens($security->getUser()->getUserIdentifier());
|
||||
$security->logout(false);
|
||||
$logger->info("Session invalidated successfully");
|
||||
} else {
|
||||
$logger->info("Session already invalidated or not started");
|
||||
$logger->info("Logout successfully");
|
||||
// Redirect back to the client (or to a “you are logged out” page)
|
||||
return $this->redirect('/');
|
||||
}
|
||||
}catch (\Exception $e){
|
||||
$logger->log(LogLevel::ERROR, 'Error invalidating session: ' . $e->getMessage());
|
||||
}
|
||||
// try{
|
||||
// $security->logout(false);
|
||||
// }catch (\Exception $e){
|
||||
// $logger->log(LogLevel::ERROR, 'Error during logout: ' . $e->getMessage());
|
||||
// }
|
||||
// $security->logout(false);
|
||||
// try{
|
||||
// $logger->info("Destruction de la session");
|
||||
// $sessionHandler->destroy("089gn04mts0iiiskfji8sjqr15");
|
||||
// }catch(\Exception $e){
|
||||
// // Log the error if needed
|
||||
// $logger->error("Erreur lors de la destruction de la session". $e->getMessage());
|
||||
// }
|
||||
$logger->info("Logout successfully");
|
||||
// Redirect back to the client (or to a “you are logged out” page)
|
||||
// $redirect = $request->query->get('redirect_uri', '/');
|
||||
return $this->redirect('/');
|
||||
// return new JsonResponse(["SUCCESS" => "Tokens revoked successfully"], Response::HTTP_OK);
|
||||
|
||||
// If something goes wrong, redirect to the index page
|
||||
return $this->redirectToRoute('app_index');
|
||||
}
|
||||
|
||||
#[Route(path: '/consent', name: 'app_consent')]
|
||||
|
|
@ -97,5 +78,4 @@ class SecurityController extends AbstractController
|
|||
return $this->render('security/consent.html.twig');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue