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 dansvendor/)
Installation
Via ZIP
- Télécharge
auris-sso.zipdepuis le portail développeur Auris - Va dans Extensions → Ajouter dans ton tableau de bord WordPress
- Clique sur Téléverser une extension
- Sélectionne le fichier ZIP et clique sur Installer maintenant
- Active le plugin
Configuration
Étape 1 — Enregistrer l’application dans la Console Auris
- Accède à la Console Auris → Applications
- Crée une nouvelle application de type Web Application
- Note le Client ID et le Client Secret
- 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 :
| Champ | Description |
|---|---|
| Domaine Auris | Ton domaine de tenant (ex. auth.votredomaine.com) |
| Client ID | Client ID de l’application depuis la Console |
| Redirect URI | Doit correspondre exactement à ce qui est enregistré dans la Console |
| Tenant | Identifiant tenant (ex. my-tenant) |
| Client Secret | Client 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 Auris | Métadonnée/Champ WordPress |
|---|---|
id | auris_user_id (métadonnée) |
email | user_email |
username | user_login |
firstName | first_name |
lastName | last_name |
roles | wp_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 Auris | Rôle WordPress |
|---|---|
admin | administrator |
editor | editor |
author | author |
| (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 :
| Attribut | Défaut | Description |
|---|---|---|
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 :
- Les cookies sont-ils activés dans le navigateur de l’utilisateur ?
- Le chemin de cookie WordPress correspond-il au chemin de ton site ? Vérifie
COOKIEPATHetSITECOOKIEPATHdanswp-config.php. - Le domaine de cookie est-il correct ? Vérifie
COOKIE_DOMAINdanswp-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
- SDK PHP — SDK PHP sous-jacent utilisé par ce plugin
- Guide Connexion Hébergée — Procédure complète du flux PKCE
- Guide Single Sign-On — Configurer le SSO avec des providers tiers