Aller au contenu
Développement Ecommerce

Plugin social login pour Sylius : simplifier la connexion client sans figer la configuration OAuth

Sur une boutique e-commerce, la page de connexion est rarement l'endroit où l'on veut faire patienter un client. Chaque champ à remplir, chaque mot de passe oublié et chaque création de compte trop longue créent de la friction au moment où l'utilisateur veut simplement retrouver son panier, suivre une commande ou finaliser un achat.


Pour simplifier le parcours client et éviter les abandons à la connexion, le plugin Social login pour Sylius permet aux utilisateurs de s’identifier via des fournisseurs OAuth connus, tout en gardant une configuration exploitable par les équipes projet depuis le Back Office.

Le besoin : une connexion rapide, mais maîtrisable

Ajouter un bouton « Se connecter avec Google » ou « Se connecter avec Facebook » peut sembler simple au départ. En pratique, l’intégration devient vite plus sensible :

  • chaque fournisseur OAuth a ses propres URLs de callback, scopes et options ;
  • les identifiants clients et secrets doivent rester sécurisés ;
  • une boutique Sylius peut avoir plusieurs channels avec des besoins différents ;
  • les équipes métier doivent parfois activer, désactiver ou renommer un bouton sans redéployer l’application ;
  • les erreurs OAuth doivent ramener l’utilisateur vers un parcours compréhensible.

Le plugin a été conçu pour traiter ces sujets comme des sujets de production, pas comme une simple couche de boutons dans un template.

Ce que fait le plugin

Le plugin Social login pour Sylius permet de configurer plusieurs fournisseurs OAuth depuis le Back Office Sylius :

  • Google ;
  • Apple ;
  • Facebook ;
  • GitHub ;
  • Microsoft ;
  • LinkedIn.

Chaque fournisseur peut être activé ou désactivé, associé à un ou plusieurs channels, ordonné dans l’affichage front, et traduit via un libellé par locale.

Côté boutique, les boutons de connexion apparaissent sur les pages de login et d’inscription uniquement lorsque le fournisseur est activé pour le channel courant. Cela évite d’exposer un bouton non configuré, ou un fournisseur réservé à un autre contexte commercial.

ACSEO Sylius Social login plugin

Une configuration OAuth pilotée depuis le Back Office

Le point important du plugin est son approche de configuration runtime.

Dans beaucoup d’intégrations OAuth, les credentials sont posés dans des fichiers YAML ou des variables d’environnement. C’est robuste, mais peu pratique quand il faut gérer plusieurs providers, plusieurs channels, ou permettre à une équipe projet de vérifier une configuration.

Ici, les credentials sont stockés en base et appliqués au moment de la requête OAuth. Le plugin s’appuie sur HWIOAuthBundle, tout en remplaçant les valeurs statiques par les valeurs configurées dans Sylius.

Concrètement, un administrateur peut :

  • créer une configuration OAuth ;
  • renseigner le Client ID et le secret ;
  • ajouter les champs spécifiques Apple ou Microsoft ;
  • sélectionner les channels concernés ;
  • copier l’URL de callback générée ;
  • tester la configuration avant de l’activer.

Cette approche réduit les allers-retours entre Back Office, console provider et fichiers de déploiement.

ACSEO Sylius Social login plugin
ACSEO Sylius Social login plugin

Sécurité : secrets chiffrés et champs write-only

Les secrets OAuth ne sont pas des paramètres anodins. Le plugin les chiffre au repos avec une clé dédiée, ou avec APP_SECRET si aucune clé spécifique n’est fournie.

En production, il est recommandé de définir une valeur stable :

ACSEO_SOCIAL_LOGIN_ENCRYPTION_KEY=change-me-in-production

Les secrets restent également write-only dans l’édition d’un fournisseur existant : un administrateur peut remplacer une valeur, mais pas relire le secret déjà enregistré.

Cette logique limite l’exposition accidentelle des credentials dans le Back Office, les exports ou les captures d’écran.

Une logique channel-aware, adaptée à Sylius

Sylius est souvent utilisé pour des contextes multi-marques, multi-pays ou multi-domaines. Le social login doit suivre cette réalité.

Le plugin permet d’associer chaque fournisseur à des channels précis. Une boutique B2C peut proposer Google et Apple, tandis qu’un autre channel peut n’afficher que Microsoft ou LinkedIn. L’ordre des boutons est lui aussi géré depuis la configuration.

L’objectif est de garder une expérience front propre, cohérente avec le channel courant, sans multiplier les conditions custom dans les templates.

Pour les équipes techniques

Le plugin fournit la documentation d’installation, les routes, la configuration de firewall Sylius et les callbacks provider. Il inclut aussi une commande de diagnostic :

php bin/console acseo:social-login:debug

Elle permet d’inspecter les fournisseurs configurés, leurs channels, leurs scopes, leurs callbacks et la présence des credentials.

Cette commande est utile pour les environnements de recette et de production, où les erreurs OAuth viennent souvent d’une différence entre l’URL publique, le channel, la console provider et la configuration applicative.

En résumé

Le plugin Social login apporte à Sylius une intégration social login orientée production :

  • providers OAuth courants ;
  • configuration depuis le Back Office ;
  • support multi-channel ;
  • libellés traduisibles ;
  • secrets chiffrés ;
  • URLs de callback visibles et copiables ;
  • diagnostic CLI ;
  • intégration front sur les pages login et inscription.

Le plugin s’adresse aux projets Sylius qui veulent réduire la friction de connexion client, tout en gardant une configuration claire, sécurisée et exploitable par les équipes projet.

Installez le Plugin social login pour Sylius dès maintenant ! (lien à venir)

Poursuivez votre lecture

Consultez nos autres contenus pour enrichir les fonctionnalités et l’administration de votre boutique Sylius :

Pour continuer votre lecture

Une idée, un projet ?

Nous sommes à votre disposition pour discuter.

Contactez-nous