Skip to Content

Plugin WordPress (auris-sso)

auris-sso est le plugin WordPress officiel pour l’intégration Auris IAM. Il est construit sur auris/sdk et ne requiert aucune dépendance supplémentaire — le SDK PHP est inclus dans le dossier vendor/ du plugin.


Prérequis

  • WordPress 5.0+
  • PHP 7.4+
  • auris/sdk (inclus dans vendor/)

Installation

  1. Télécharge auris-sso.zip depuis le portail développeur Auris
  2. Va dans Extensions → Ajouter dans ton tableau de bord WordPress
  3. Clique sur Téléverser une extension
  4. Sélectionne le fichier ZIP et clique sur Installer maintenant
  5. Active le plugin

Configuration

Étape 1 — Enregistrer l’application dans la Console Auris

  1. Accède à la Console Auris → Applications
  2. Crée une nouvelle application de type Web Application
  3. Note le Client ID et le Client Secret
  4. Ajoute ton Redirect URI : https://votresite.com/wp-admin/admin-ajax.php?action=auris_callback

Étape 2 — Configurer le plugin WordPress

Accède à Réglages → Auris SSO dans ton tableau de bord WordPress et renseigne :

ChampDescription
Domaine AurisTon domaine de tenant (ex. auth.votredomaine.com)
Client IDClient ID de l’application depuis la Console
Redirect URIDoit correspondre exactement à ce qui est enregistré dans la Console
TenantIdentifiant tenant (ex. my-tenant)
Client SecretClient Secret de l’application

Étape 3 — Tester le flux de connexion

Après la configuration, clique sur Tester la connexion dans le panneau de réglages. Un onglet s’ouvrira avec la page de connexion Auris. Après une connexion réussie, tu seras redirigé vers ton site.


Provisionnement JIT des Utilisateurs

Lors de la première connexion d’un utilisateur, auris-sso crée automatiquement un compte WordPress correspondant (Just-in-Time provisioning).

Les données suivantes sont synchronisées depuis Auris :

Champ AurisMétadonnée/Champ WordPress
idauris_user_id (métadonnée)
emailuser_email
usernameuser_login
firstNamefirst_name
lastNamelast_name
roleswp_capabilities (via mapping)

Si un utilisateur avec la même adresse email existe déjà dans WordPress, le plugin lie l’identité Auris au compte existant au lieu de créer un doublon.


Mapping des Rôles

Les rôles Auris sont mappés vers des rôles WordPress selon le tableau suivant :

Rôle AurisRôle WordPress
adminadministrator
editoreditor
authorauthor
(tout autre)subscriber

La première correspondance trouvée est appliquée. Si aucun rôle Auris ne correspond, le rôle par défaut WordPress configuré dans Réglages → Général → Rôle des nouveaux inscrits est utilisé.

Tu peux personnaliser ce comportement avec le filtre auris_sso_map_role (voir section Hooks).


Shortcodes et Templates

Shortcode [auris_login_button]

Affiche un bouton de connexion SSO n’importe où dans tes contenus ou sidebars.

[auris_login_button] [auris_login_button label="Accéder avec mon compte"] [auris_login_button label="Se connecter" class="mon-bouton-personnalise" redirect="/mon-tableau-de-bord"]

Attributs :

AttributDéfautDescription
label"Accéder avec Auris"Texte du bouton
class"auris-login-btn"Classe(s) CSS supplémentaire(s)
redirect(page actuelle)URL de redirection après connexion réussie

Fonction de template

Pour une utilisation dans les fichiers de thème PHP :

<?php // Dans ton fichier header.php, sidebar.php, etc. if (function_exists('auris_sso_login_button')) { auris_sso_login_button([ 'label' => 'Connexion SSO', 'class' => 'btn btn-primary', 'redirect' => '/tableau-de-bord', ]); }

Remplacer le Formulaire de Connexion WordPress

Dans Réglages → Auris SSO, active l’option Remplacer la page de connexion WordPress pour remplacer le formulaire /wp-login.php par une redirection automatique vers Auris.

Active cette option uniquement si tous les utilisateurs doivent se connecter via Auris SSO. Les administrateurs peuvent toujours accéder au formulaire de connexion natif via https://votresite.com/wp-login.php?fallback=true.


Action Hooks

Utilise ces hooks pour déclencher des actions lors des événements d’authentification.

auris_sso_user_created

Déclenché lors de la création d’un nouveau compte WordPress par JIT provisioning.

add_action('auris_sso_user_created', function (int $wpUserId, array $aurisUser) { // Envoyer un email de bienvenue wp_mail($aurisUser['email'], 'Bienvenue !', 'Ton compte a été créé.'); // Initialiser les métadonnées update_user_meta($wpUserId, 'onboarding_complete', false); }, 10, 2);

auris_sso_user_updated

Déclenché lors de la mise à jour d’un compte WordPress existant au moment de la connexion.

add_action('auris_sso_user_updated', function (int $wpUserId, array $aurisUser) { // Journaliser la connexion update_user_meta($wpUserId, 'last_auris_login', current_time('mysql')); }, 10, 2);

auris_sso_login_failed

Déclenché lorsqu’une tentative de connexion échoue.

add_action('auris_sso_login_failed', function (string $errorCode, string $errorMessage) { // Journaliser l'échec error_log("Échec connexion Auris SSO : [$errorCode] $errorMessage"); });

auris_sso_before_redirect

Déclenché juste avant la redirection finale après une connexion réussie. Permet de modifier la destination.

add_action('auris_sso_before_redirect', function () { // Personnaliser la destination de redirection si nécessaire });

Filter Hooks

auris_sso_map_role

Personnalise le mapping des rôles Auris vers les rôles WordPress.

add_filter('auris_sso_map_role', function (string $wpRole, array $aurisRoles): string { // Mapping personnalisé if (in_array('billing_manager', $aurisRoles)) { return 'shop_manager'; // Rôle WooCommerce } if (in_array('content_creator', $aurisRoles)) { return 'author'; } return $wpRole; // Retourner le rôle mappé par défaut }, 10, 2);

auris_sso_user_data

Modifie les données utilisateur avant qu’elles soient enregistrées dans WordPress.

add_filter('auris_sso_user_data', function (array $userData, array $aurisUser): array { // Personnaliser le display_name $userData['display_name'] = $aurisUser['firstName'] . ' ' . strtoupper($aurisUser['lastName']); // Définir une description par défaut $userData['description'] = 'Membre depuis ' . date('Y'); return $userData; }, 10, 2);

Dépannage

Redirect URI manquant ou incorrect

Si tu obtiens une erreur redirect_uri_mismatch, vérifie que l’URI enregistré dans la Console Auris correspond exactement (y compris le schéma https://, le domaine et le chemin) à l’URI configuré dans le plugin.

L’URI attendu est : https://votresite.com/wp-admin/admin-ajax.php?action=auris_callback

HTTPS Requis

Auris n’autorise pas les Redirect URI en http:// en production. Assure-toi que ton site WordPress utilise HTTPS. Pour le développement local, utilise http://localhost (les connexions localhost sont autorisées).

Session Non Persistante (Problème de Proxy)

Si les utilisateurs sont déconnectés après la redirection, ton serveur est peut-être derrière un proxy inverse. Ajoute à wp-config.php :

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }

Boucles de Connexion

Si les utilisateurs sont redirigés en boucle vers la page de connexion, vérifie :

  1. Les cookies sont-ils activés dans le navigateur de l’utilisateur ?
  2. Le chemin de cookie WordPress correspond-il au chemin de ton site ? Vérifie COOKIEPATH et SITECOOKIEPATH dans wp-config.php.
  3. Le domaine de cookie est-il correct ? Vérifie COOKIE_DOMAIN dans wp-config.php.

Mauvais Rôle Assigné

Les rôles sont évalués de haut en bas dans le tableau de mapping. Si un utilisateur a plusieurs rôles Auris, le premier qui correspond dans la table est appliqué. Utilise le filtre auris_sso_map_role pour un contrôle précis.


Corrélés