Retour à l’expérience Carter-Cash

Carter-Cash

Identité client & authentification

01 / 5

PRISE EN CHARGE & DIAGNOSTIC

Devenir référent d’un système existant

Prendre en charge un service déjà en place jusqu’à devenir le point de référence en cas d’incident

Auth0 assurait déjà l’authentification des clients lorsque j’ai rejoint le projet. Je n’avais pas participé à sa mise en place initiale, mais les incidents liés aux comptes et à la connexion m’ont progressivement amené à intervenir régulièrement sur ce périmètre.

J’utilisais la console Auth0 pour examiner les identités, comprendre les blocages et débloquer les situations rencontrées par les utilisateurs. À force de prendre en charge ces demandes et de relier le comportement du service à celui de l’application Symfony, j’en suis devenu le référent opérationnel au sein de l’équipe.

  • Auth0
  • Diagnostic
  • Support en production

02 / 5

REPRISE DE PROJET

Reprendre et finaliser l’intégration Symfony

Transformer une première intégration incomplète en un socle prêt à remplacer le fonctionnement historique

À la suite de plusieurs sujets de sécurité, l’équipe avait décidé d’intégrer le bundle Symfony officiel d’Auth0. Un autre développeur avait commencé ce chantier, mais son départ a laissé une première version encore incomplète et partiellement adaptée au fonctionnement du site.

J’ai repris cette base, identifié les parcours et cas particuliers restant à traiter, puis adapté l’intégration au socle existant. J’ai complété les éléments manquants, supprimé les anciens mécanismes devenus inutiles et mené le chantier jusqu’à sa version finale, prête à être déployée.

  • Symfony
  • Auth0
  • Reprise de projet

03 / 5

SÉCURITÉ & PARCOURS CLIENT

Sécuriser la création et le cycle de vie des comptes

Renforcer la sécurité sans transformer chaque nouvelle règle en obstacle pour les clients existants

Ajouter une règle de sécurité à l’authentification ne concernait jamais uniquement la connexion. La validation des comptes, par exemple, pouvait affecter les clients historiques, le parcours après inscription, les messages d’erreur ou encore le renvoi des communications nécessaires.

J’ai étudié ces impacts et formalisé les décisions métier à prendre avant l’activation de nouvelles protections. J’ai ensuite développé les actions et triggers Auth0 ainsi que les points d’entrée Symfony nécessaires aux contrôles retenus lors de l’inscription. J’ai également adapté la gestion des sessions et de la déconnexion afin de conserver un cycle de vie cohérent entre Auth0 et l’application.

  • Sécurité
  • Auth0 Actions
  • Cycle de vie

04 / 5

MIGRATION & INTÉGRITÉ

Réconcilier les identités sans perdre leur historique

Fusionner les comptes en doublon tout en conservant commandes, paniers et données utiles

L’évolution de l’authentification nécessitait de traiter des clients possédant plusieurs comptes pour une même identité. Une simple suppression aurait fait disparaître une partie de leur historique ou laissé des relations incohérentes entre l’application et Auth0.

J’ai conçu et développé un traitement capable de détecter les doublons, de sélectionner le compte principal selon son activité et d’y transférer les commandes, paniers, adresses, véhicules et préférences utiles. Les comptes devenus inutiles sont ensuite supprimés localement et dans Auth0 lorsque nécessaire. Des verrous, limites d’exécution, journaux dédiés et synthèses permettent de contrôler chaque fusion.

  • Symfony Console
  • Migration
  • Intégrité des données

05 / 5

RÉALISATION TECHNIQUE

Intégrer Auth0 sans interrompre le parcours client

Remplacer le fonctionnement historique de l’authentification touchait la connexion, l’inscription, les sessions et les comptes déjà présents. L’intégration devait donc faire cohabiter le bundle Auth0 avec les règles propres à Carter-Cash, puis permettre un basculement maîtrisé

  • Symfony Security
  • Auth0
  • Doctrine

Authentification Symfony

Le bundle s’intègre au composant Security à travers des providers, un authenticator, un point d’entrée et des subscribers dédiés. J’ai adapté ces composants aux différents profils de l’application et aux parcours existants, puis supprimé les anciens mécanismes devenus inutiles.

Cycle de vie Auth0

Les actions et triggers Auth0 communiquent avec des contrôleurs Symfony pour appliquer les contrôles nécessaires lors de l’inscription. La gestion de la déconnexion, des sessions et des identifiants a également été adaptée afin de conserver un état cohérent entre Auth0 et l’application.

Migration des comptes

Une commande Symfony s’appuie sur Doctrine et l’API Auth0 pour fusionner les comptes en doublon, transférer leurs données liées et supprimer les identités devenues inutiles. Des verrous, limites d’exécution et journaux dédiés sécurisent cette opération.

Mise en production

J’ai participé directement à la cellule de mise en production, dans une fenêtre préparée pour limiter l’impact sur les clients. Le nouveau socle Auth0, les actions nécessaires et la fusion des comptes ont été vérifiés avant la réouverture complète du parcours.

  • Symfony Security
  • Auth0
  • Doctrine
  • Console
  • Actions
  • Monolog
  • Sessions