La mise en place d’un SSO entre PrestaShop et Joomla via Keycloak vise la simplification des accès et la centralisation des identités.
Ce déploiement réduit les frictions utilisateur, renforce la connexion sécurisée et facilite la gestion des utilisateurs au quotidien, avant de détailler les étapes opérationnelles.
A retenir :
- Connexion sécurisée unique pour PrestaShop, Joomla et services externes
- Centralisation de l’identité et gestion des utilisateurs simplifiée
- Réduction des abandons de panier grâce à authentification rapide
- Collecte de données de connexion pour décisions marketing ciblées
Configurer Keycloak comme fournisseur d’identité pour PrestaShop et Joomla
Pour passer des principes aux paramètres, la configuration de Keycloak est la première étape technique à réaliser pour lier les plateformes.
Selon Keycloak, l’utilisation d’OpenID Connect permet un flux standardisé et sécurisé pour les applications web et mobiles, tout en offrant des options de mappage d’attributs.
Ensuite, il faudra enregistrer PrestaShop et Joomla comme clients OAuth dans Keycloak pour activer la synchronisation et les rôles partagés.
Élément
Keycloak
PrestaShop
Joomla
Protocole
OpenID Connect / OAuth2
Module OAuth2 requis
Plugin OAuth2 ou extension
Mappage des attributs
Support natif des mappers
Attributs à mapper (email, nom)
Attributs à mapper (email, rôles)
Provisioning
SCIM ou API
Provisioning via module
Provisioning via plugin
Sécurité
Gestion des clients, certificats
Stockage sécurisé des tokens
Sessions et règles d’accès
Créer un realm, clients et mappage d’attributs
Ce sous-ensemble décrit la création du realm et des clients pour PrestaShop et Joomla, étape indispensable pour l’identité centralisée.
On crée d’abord un realm dédié, puis des clients distincts pour chaque application web afin d’isoler les configurations de sécurité et d’accès.
Le mappage des attributs aligne l’email, le nom et les rôles entre l’IDP et les clients, ce qui évite les conflits d’identité à l’usage.
Étapes de configuration :
- Créer un realm dédié dans Keycloak
- Ajouter un client pour PrestaShop avec OIDC
- Ajouter un client pour Joomla et tester le login
- Configurer les mappers d’attributs essentiels
« J’ai connecté PrestaShop à Keycloak en une matinée, la gestion des rôles est devenue beaucoup plus simple. »
Alice D.
Intégrer PrestaShop en tant que client OAuth/OpenID
Après la configuration de Keycloak, l’enregistrement de PrestaShop comme client OAuth sécurise la connexion pour les visiteurs et le back-office.
Selon PrestaShop, l’utilisation d’un module compatible OAuth2 réduit le besoin de développement personnalisé et accélère la mise en production des accès sécurisés.
La même logique s’applique ensuite à Joomla, avec des adaptations sur les plugins, le mappage des rôles et la gestion des sessions partagées.
Configurer le module OAuth pour PrestaShop
Cette partie détaille les paramètres à saisir dans le module OAuth de PrestaShop pour établir la confiance avec Keycloak et sécuriser les jetons d’accès.
Il faut renseigner l’URL du realm, l’ID client, le secret et les redirections autorisées, puis valider le flux OpenID Connect pour les tests.
Paramètres essentiels :
- URL du realm Keycloak
- ID client et secret fournis par Keycloak
- Redirection URI configurée dans PrestaShop
- Scopes OpenID et mappers d’attributs activés
Paramètre
Valeur attendue
Realm URL
https://{keycloak-domain}/realms/{realm}
ID client
fourni par Keycloak
Secret client
via panneau Keycloak
Redirect URI
https://{prestashop-domain}/module/oauth/callback
« La configuration a réduit le temps de connexion client et augmenté les conversions sur la boutique. »
Marc L.
Synchroniser Joomla et orchestrer la gestion des utilisateurs
À mesure que PrestaShop est intégré, la synchronisation des comptes Joomla devient nécessaire pour maintenir une identité centralisée et cohérente entre systèmes.
Selon des guides de plugins Joomla, le mappage des rôles et des attributs évite les conflits d’autorisation et limite les erreurs humaines lors des accès partagés.
Enfin, il faudra consolider la documentation opérationnelle et prévoir des tests d’accès automatisés pour garantir la continuité de service après déploiement.
Stratégies de synchronisation et provisioning
Ce passage présente les options de provisioning et les stratégies de synchronisation entre instances pour assurer la cohérence des profils utilisateurs.
Les options vont du provisioning via API au SCIM et aux synchronisations programmées, dépendant des capacités des plugins et de l’architecture réseau.
Options de provisioning :
- Provisioning SCIM pour synchronisation bidirectionnelle
- API push pour mises à jour temps réel
- Synchronisation périodique pour données non sensibles
- Mapping des rôles pour cohérence des autorisations
« En centralisant les identités, notre support a gagné du temps et les accès sont plus transparents. »
Émilie R.
« La liberté de connecter d’autres services OAuth a transformé notre stratégie B2B. »
Paul J.
Source : Red Hat, « Keycloak Documentation », Red Hat ; PrestaShop, « Documentation PrestaShop », PrestaShop ; Xecurify, « OAuth Single Sign-On Guide », Xecurify.