Reduce returns: refresh 4→3, ssoValidate 4→3
- refresh: merge empty headers check into verifyJwt call (ternary with INVALID_JWT fallback) - ssoValidate: merge user null + not organizer into single condition, use null coalescing for findOneBy chain Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -81,15 +81,10 @@ class ApiAuthController extends AbstractController
|
||||
): JsonResponse {
|
||||
$email = $request->headers->get('ETicket-Email', '');
|
||||
$jwt = $request->headers->get('ETicket-JWT', '');
|
||||
|
||||
if ('' === $email || '' === $jwt) {
|
||||
return $this->json(['success' => false, 'data' => null, 'error' => 'Headers ETicket-Email et ETicket-JWT requis.'], 401);
|
||||
}
|
||||
|
||||
$result = self::verifyJwt($jwt, $email, $this->appSecret);
|
||||
$result = ('' !== $email && '' !== $jwt) ? self::verifyJwt($jwt, $email, $this->appSecret) : self::INVALID_JWT;
|
||||
|
||||
if (null === $result['userId'] || !$result['expired']) {
|
||||
$error = null === $result['userId'] ? 'Token invalide.' : 'Token encore valide, pas besoin de refresh.';
|
||||
$error = null === $result['userId'] ? 'Token invalide ou headers manquants.' : 'Token encore valide, pas besoin de refresh.';
|
||||
|
||||
return $this->json(['success' => false, 'data' => null, 'error' => $error], null === $result['userId'] ? 401 : 400);
|
||||
}
|
||||
@@ -131,17 +126,11 @@ class ApiAuthController extends AbstractController
|
||||
$keycloakId = $keycloakUser->getId();
|
||||
$email = $data['email'] ?? '';
|
||||
|
||||
$user = $em->getRepository(User::class)->findOneBy(['keycloakId' => $keycloakId]);
|
||||
if (!$user) {
|
||||
$user = $em->getRepository(User::class)->findOneBy(['email' => $email]);
|
||||
}
|
||||
$user = $em->getRepository(User::class)->findOneBy(['keycloakId' => $keycloakId])
|
||||
?? $em->getRepository(User::class)->findOneBy(['email' => $email]);
|
||||
|
||||
if (!$user) {
|
||||
return $this->json(['success' => false, 'data' => null, 'error' => 'Aucun compte organisateur associe a ce SSO.'], 403);
|
||||
}
|
||||
|
||||
if (!\in_array('ROLE_ORGANIZER', $user->getRoles(), true)) {
|
||||
return $this->json(['success' => false, 'data' => null, 'error' => 'Acces reserve aux organisateurs.'], 403);
|
||||
if (!$user || !\in_array('ROLE_ORGANIZER', $user->getRoles(), true)) {
|
||||
return $this->json(['success' => false, 'data' => null, 'error' => !$user ? 'Aucun compte associe a ce SSO.' : 'Acces reserve aux organisateurs.'], 403);
|
||||
}
|
||||
|
||||
return $this->tokenResponse($user, true);
|
||||
|
||||
Reference in New Issue
Block a user