Magixaccount
Authentification OAuth
Avertissement technique & Prérequis d'installation
Le module Magixaccount gère les données d'identité, les flux d'authentification sécurisés et les protocoles d'autorisation tiers (OAuth2). En raison des prérequis de conformité (RGPD), de sécurité des données sensibles et de la configuration des consoles développeurs (Google Cloud, LinkedIn Developers), son déploiement doit être exclusivement réalisé par un professionnel indépendant expérimenté ou une agence web spécialisée.
1. Vue d'ensemble & Architecture
Magixaccount dote Magix CMS 4 d'un espace membre complet, modulaire et extensible. Il gère l'inscription, la connexion sécurisée, la réinitialisation de mot de passe, ainsi que la gestion du profil utilisateur.
Le module s'appuie sur une structure relationnelle dédiée :
mc_account: identifiants primaires (adresse e-mail, hachage sécurisé du mot de passe, date d'inscription, statut d'activation).mc_account_profile: données signalétiques complémentaires (nom, prénom, société, numéro de téléphone, adresses).
La persistance de session est assurée par le gestionnaire natif Session sous l'identifiant magix_sess_id.
2. Connexion sociale : Google (Gmail) & LinkedIn
Pour accélérer le parcours utilisateur et maximiser les taux de conversion, Magixaccount intègre une passerelle OAuth2 permettant la connexion et l'inscription en un clic via un compte Google ou LinkedIn.
A. Configuration de l'authentification Google (Gmail)
Pour connecter Magixaccount à Google, la configuration d'un projet sur la Google Cloud Console est indispensable :
- Rendez-vous sur la console Google Cloud (
console.cloud.google.com) et créez ou sélectionnez un projet. - Accédez à API et services > Écran de consentement OAuth :
- Sélectionnez le type d'utilisateur Externe.
- Renseignez le nom de votre application, l'adresse e-mail de support et le domaine autorisé de votre site.
- Ajoutez les champs d'application (scopes) minimaux :
.../auth/userinfo.emailet.../auth/userinfo.profile.
- Accédez à Identifiants > Créer des identifiants > ID client OAuth :
- Type d'application : Application Web.
- Dans la section URI de redirection autorisés, indiquez l'URL exacte générée par votre installation (ex. :
https://votresite.com/fr/magixaccount/oauth/google). Note : le protocole HTTPS est strictement obligatoire.
- Copiez l'ID client et le Code secret du client, puis collez-les dans la configuration back-office du plugin Magixaccount.
B. Configuration de l'authentification LinkedIn
La synchronisation avec le réseau professionnel LinkedIn s'effectue via le portail LinkedIn Developers :
- Accédez au portail développeur (
developer.linkedin.com) et cliquez sur Create App. - Renseignez les champs obligatoires (nom, association à votre page entreprise LinkedIn officielle et logo).
- Rendez-vous dans l'onglet Products et ajoutez le produit Sign In with LinkedIn using OpenID Connect.
- Dans l'onglet Auth :
- Vérifiez l'attribution des scopes OpenID (
openid,profile,email). - Dans Authorized redirect URLs for your app, ajoutez l'adresse de callback de votre site (ex. :
https://votresite.com/fr/magixaccount/oauth/linkedin).
- Vérifiez l'attribution des scopes OpenID (
- Récupérez le Client ID et le Client Secret dans la section Application credentials et enregistrez-les dans le panneau d'administration de Magixaccount.
3. Interconnexion avec Magixcartpay
Magixaccount communique de façon transparente avec Magixcartpay pour offrir une expérience e-commerce fluide :
- Verrouillage de sécurité du panier : Si Magixaccount est actif, Magixcartpay peut imposer une connexion obligatoire avant l'accès au panier ou la validation finale du checkout. L'utilisateur non identifié est automatiquement redirigé vers
/magixaccount/login. - Pré-remplissage des coordonnées : Lors du passage de commande, la méthode
getAccountProfile()extrait les informations du profil connecté (nom, société, téléphone, e-mail) pour renseigner automatiquement le formulaire de facturation. - Historique des commandes injecté : Magixcartpay s'abonne aux hooks d'affichage de Magixaccount :
displayAccountProfileMenu: ajoute un onglet « Mes Commandes » dans la navigation du tableau de bord client.displayAccountProfileContent: affiche le bloc récapitulatif des commandes récentes directement sur la page d'accueil du profil.
- Vérification d'achat (Smarty) : La fonction
{has_purchased id_product=X}permet de vérifier en temps réel si le membre connecté a déjà acheté et réglé un produit donné.
4. Points d'accroche Frontend (Hooks)
L'intégration des formulaires et des widgets de Magixaccount dans votre thème s'appuie sur le système d'événements :
{event name="displayAccountProfileMenu"}: insère les liens additionnels fournis par les modules tiers (comme l'historique Magixcartpay) dans le menu de navigation de l'espace client.{event name="displayAccountProfileContent"}: injecte les modules de contenu (commandes, abonnements, notifications) dans le corps du tableau de bord.{event name="displayAccountAuthSocial"}: injecte automatiquement les boutons de connexion sociale (Google et LinkedIn) sur les formulaires de connexion et d'inscription.
5. Surcharge de gabarits (Theme Override)
Conformément aux standards de développement de Magix CMS 4, les templates situés dans plugins/Magixaccount/views/front/ ne doivent pas être édités directement. Toute personnalisation de mise en page (écrans de connexion, inscription, réinitialisation de mot de passe, tableau de bord) s'effectue par surcharge dans le répertoire du thème actif :
skin/{votre_theme}/plugins/magixaccount/

