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 :

  1. Rendez-vous sur la console Google Cloud (console.cloud.google.com) et créez ou sélectionnez un projet.
  2. 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.email et .../auth/userinfo.profile.
  3. 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.
  4. 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 :

  1. Accédez au portail développeur (developer.linkedin.com) et cliquez sur Create App.
  2. Renseignez les champs obligatoires (nom, association à votre page entreprise LinkedIn officielle et logo).
  3. Rendez-vous dans l'onglet Products et ajoutez le produit Sign In with LinkedIn using OpenID Connect.
  4. 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).
  5. 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/
Haut

Nous utilisons des cookies pour vous garantir la meilleure expérience, analyser notre trafic et vous proposer des contenus adaptés. En savoir plus.