Connexion par Auth0
Connexion par Auth0 peut être configuré à l’aide de l’assistant de configuration dans le plugiciel ou manuellement pour plus de contrôle sur le processus. Pour en savoir plus, veuillez consulter Installer la connexion par Auth0. Les instructions ci-dessous peuvent également être utilisées si l’assistant de configuration n’a pas été complété ou dans le cadre de la résolution des problèmes de connexion.
Configuration Auth0
Votre locataire Auth0 doit être configuré pour accepter les demandes de connexion à partir de votre site WordPress et les identités d’utilisateur source d’au moins une connexion, qu’il s’agisse d’une base de données Auth0, d’une connexion via un réseau social ou d’un répertoire des entreprises. Pour en savoir plus sur les locataires, veuillez consulter Créer des locataires. Pour en savoir plus sur les connexions, veuillez consulter Fournisseurs d’identité.
Configuration de l’application
Créer une Application pour votre site WordPress :
Si vous essayez de résoudre des problèmes avec l’assistant de configuration, naviguez vers Auth0 Dashboard > Applications > Applications, et recherchez une application similaire au nom de votre site WordPress. Si vous n’en trouvez pas, cela signifie qu’une Application n’a pas été créée par l’assistant. Redémarrez l’assistant de configuration dans WordPress ou suivez les étapes ci-dessous pour créer une application manuellement.
Si vous configurez manuellement, naviguez vers Auth0 Dashboard > Applications > Applications, et sélectionnez Créer. Saisissez un nom pour l’application, sélectionnez Applications Web régulières et cliquez sur Créer.
Sélectionnez l’affichage Paramètres de l’application. Vous verrez votre domaine, ID client et secret client, qui sont utilisés dans les wp-admin > Auth0 > Paramètres pour se connecter à Auth0.
Type d’application doit être défini sur Applications Web régulières et Méthode d’authentification du point de terminaison du jeton doit être définie sur Post
Faire défiler vers le bas jusqu’aux URL de rappel autorisées et fournir
?auth0=1
en annexe a l’URL du site WordPress :
Entrez la Adresse WordPress (URL) de votre site WordPress (la où le site WordPress apparaît publiquement) et, si elle est différente, la Adresse du site (URL) (d’où wp-admin est servi) dans le champ Origines Web autorisées. Ces deux valeurs se trouvent sur l’écran des paramètres généraux de votre site WordPress.
Entrez la URL de connexion dans le champ URL de déconnexion autorisées
Laisser le champ Allowed Origins (CORS) (Origines autorisées) vide (il utilisera les valeurs des URL de rappel autorisées ci-dessus)
Faites défiler l’écran vers le bas et sélectionnez Afficher les paramètres avancés, puis sélectionnez l’affichage OAuth et assurez-vous que le Algorithme de signature JsonWebToken est défini sur RS256. Si cela doit être modifié plus tard, il faut le faire ici ainsi que dans wp-admin (voir Paramètres > Configuration de base ci-dessous).
Activer la fonction OIDC Conformant.
Cliquez sur l’onglet Types d’autorisation et sélectionnez au moins Code d’autorisation et Informations d’identification du client.
Cliquez sur Enregistrer les modifications.
Autoriser l’application pour Management API
Pour que votre site WordPress puisse effectuer certaines actions au nom de votre locataire Auth0, vous devrez autoriser l’application créée ci-dessus à accéder à Management API. Ce n’est pas nécessaire, mais cela permettra de récupérer les données complètes de l’utilisateur lors de la connexion (y compris user_metadata
et app_metadata
), des modifications de courriel et de mot de passe pour les utilisateurs, et de renvoyer la vérification du courriel lorsque des courriels vérifiés sont requis.
Assurez-vous que votre application permet l’autorisation des Informations d’identification du client (étape 10 de la section ci-dessus).
Naviguez vers Tableau de bord Auth0 > Applications > API.
Sélectionnez Management API Auth0, puis l’affichage Applications machine à machine.
Recherchez l’application WordPress et sélectionnez Non autorisé pour accorder l’accès.
Dans le panneau qui apparaît, sélectionnez uniquement les champs
read:users
etupdate:users
, puis sélectionnez Mise à Jour (vous pouvez effectuer une recherche à l’aide du champ Filtrer permissions).
Configuration de la connexion aux bases de données
Les connexions aux bases de données permettent la connexion par nom d’utilisateur et mot de passe avec les enregistrements d’utilisateur stockés à Auth0. Ce type de connexion n’est pas requis et peut être ignoré si vous utilisez uniquement des connexions sans mot de passe, sociales ou d’entreprise.
Si vous avez utilisé l’assistant pendant la configuration, naviguez vers Auth0 Dashboard > Authentification > Base de données et recherchez une connexion qui a un nom similaire à celui de l’installation de l’application ci-dessus. Sinon, vous pouvez créer une nouvelle connexion, utiliser une connexion existante ou utiliser Username-Password-Authentication (Authentification-Nom d’utilisateur-Mot de passe) par défaut. Sélectionnez un nom de connexion existant pour afficher les paramètres ou sélectionnez Créer une connexion à la base de données et suivez les étapes.
Sélectionnez l’affichage Applications et activez l’application créée ci-dessus.
Configuration de la connexion via un réseau social
Pour savoir comment activer et configurer cette méthode de connexion, veuillez consulter Fournisseurs d’identité sociale.
Configuration de la connexion d’entreprise
Pour savoir comment activer et configurer cette méthode de connexion, veuillez consulter Enterprise Identity Providers (Fournisseurs d’identité de l’entreprise).
Configuration WordPress
Allez dans Auth0 Dashboard > Applications > Applications et sélectionnez l’application créée ci-dessus.
Dans un nouvel onglet/fenêtre, connectez-vous à wp-admin pour votre site WordPress et allez à wp-admin > Auth0 > Paramètres.
Copiez Domaine, ID client et Secret client de votre page d’application Auth0 vers vos paramètres WordPress en utilisant les boutons Copier dans le presse-papiers à côté de chaque champ.
Faites défiler l’écran vers le bas et sélectionnez Enregistrer les modifications.
Stockage de la constante de configuration PHP
Les paramètres du plugiciel peuvent être enregistrés dans la base de données (par défaut) ou ils peuvent être définis en utilisant une constante PHP spécifiquement nommée. Cela va permettre de sécuriser davantage les données sensibles, comme le secret client, le jeton API et le jeton de migration (en supposant que le fichier dans lequel ils sont définis est stocké de façon sécurisée; pour en savoir plus, veuillez consulter Renforcement Wordpress sur wordpress.org)
La constante doit être définie avant le chargement du plugiciel sinon elle ne sera pas utilisée. Cela devrait se produire dans votre fichier wp-config.php
ou dans un plugiciel à utiliser absolument. Pour en savoir plus, veuillez consulter Plugiciels à utiliser absolument sur wordpress.org. Si la constante est définie dans le functions.php
de votre thème ou dans un plugiciel qui se charge après Auth0, la valeur sera ignorée.
Les constantes PHP sont définies comme suit :
Le nom de la constante par défaut doit être AUTH0_ENV_
suivi du nom de l'option à remplacer en majuscules (le préfixe peut être modifié avec le filtre auth0_settings_constant_prefix
. Pour en savoir plus, consultez Extension de la connexion par Auth0 WordPress Plugiciel). Toutes les options du plugiciel peuvent être remplacées et leurs clés peuvent être trouvées dans la méthode WP_Auth0_Options::defaults()
. Pour voir les options possibles, consultez WordPress Auth0 Lock Options dans notre dépôt GitHub.
Remarque : La valeur migration_token
est générée par le plugiciel lorsque la migration de l’utilisateur est activée. S’il y a déjà une valeur dans l’admin, assurez-vous de définir la constante à la même valeur. Si cette valeur doit être modifiée, elle doit également l’être dans les scripts personnalisés pour la connexion à la base de données utilisée dans le Auth0 Dashboard.
Le champ de paramètres change son affichage en fonction de cette nouvelle valeur et affiche la constante utilisée comme référence. Cette valeur sera utilisée partout dans le plugiciel automatiquement.
Important : Enregistrer la page de paramètres après avoir défini une valeur constante validera les valeurs constantes (mais ne les modifiera pas) et les supprimera du tableau d’options enregistré dans la base de données. Si vous testez cette fonctionnalité, n’enregistrez pas les paramètres dans la page d’administration de WordPress avant d’être prêt à supprimer cette valeur.
Tous les sites d’un réseau WordPress multi-site utiliseront la même valeur constante, ce qui en fait un moyen facile de configurer un réseau à l’aide d’une seule application et d’une seule connexion à la base de données.
Paramètres du plugiciel
Basic
Domaine : Le domaine copié à partir des paramètres de l’application dans votre tableau de bord. Le nom de l’option est
domain
.Domaine personnalisé : Le domaine personnalisé pour votre locataire, si configuré. Pour en savoir plus, veuillez consulter Domaines personnalisés. Le nom de l’option est
custom_domain
.ID client : L’ID client copié à partir des paramètres de l’application dans votre tableau de bord. Le nom de l’option est
client_id
.Secret client : Le secret client copié à partir des paramètres de l’application dans votre tableau de bord. Le nom de l’option est
client_secret
.Algorithme de signature JWT L’algorithme utilisé pour signer les jetons à partir de l’onglet Paramètres avancés de l’application, OAuth; par défaut est RS256. Le nom de l’option est
client_signing_algorithm
.Temps de cache JWKS (en minutes) : Combien de temps les informations JWKS doivent être stockées lorsque l’on utilise l’Algorithme de signature RS256 JWT. Le nom de l’option est
cache_expiration
.Formulaire de connexion original sur wp-login.php : Fournit des moyens d’accéder ou de bloquer la page de connexion WordPress principale. Le nom de l’option est
wordpress_login_enabled
. Le nom de l’option de code de la page de connexion estwle_code
.Jamais ne permettra pas l’affichage du formulaire de connexion au noyau WordPress.
Via un lien sous le formulaire Auth0 affichera un lien vers le formulaire de connexion principale WordPress directement sous l’Auth0 intégré sur
wp-login.php
. La page de connexion peut également être consultée directement en ajoutant?wle
à l’URL de connexion.Lorsque le paramètre de requête "wle" est présent, permettra d’accéder directement à la page de connexion en ajoutant
?wle
à l’URL de connexion. Cette action contourne la redirection de la page de connexion universelle.Lorsque le paramètre de requête "wle" contient un code spécifique permettra d’accéder directement à la page de connexion en ajoutant
?wle=
plus un code à l’URL de connexion. Le code est généré automatiquement et sera affiché sous les contrôles de ce paramètre. Cette action contourne la redirection de la page de connexion universelle.
Autoriser les inscriptions : L’inscription d’un utilisateur sera disponible uniquement si l’option WordPress Toute personne peut s’inscrire est activée. Vous pouvez trouver ce paramètre sous Paramètres > Général > Adhésion.
Caractéristiques
Page de connexion universelle : Redirige la page
wp-login.php
vers la page de connexion universelle pour l’authentification unique SSO en utilisant toutes les connexions actives pour cette application. Le nom de l’option estauto_login
.Méthode de connexion automatique : Une seule connexion active à utiliser pour l’authentification lorsque la Page de connexion universelle est activée. Laisser ce champ vide pour afficher toutes les connexions actives sur la page de connexion universelle. Le nom de l’option est
auto_login_method
.Déconnexion Auth0 : Activez cette option pour vous déconnecter de Auth0 lorsque vous vous déconnectez de WordPress. Le nom de l’option est
singlelogout
.Remplacer les avatars WordPress : Force WordPress à utiliser les avatars Auth0. Le nom de l’option est
override_wp_avatars
.
Intégré
Les options ici n’affectent pas la page de connexion universelle (pour en savoir plus sur les options de personnalisation, veuillez consulter Connexion universelle Auth0.
Connexion Sans mot de passe : Activez cette option pour activer la Connexion sans mot de passe sur tous les formulaires de connexion Auth0 intégrés. Les connexions sans mot de passe sont gérées dans le tableau de bord Auth0 et au moins une connexion doit être active et activée sur cette application pour que cela fonctionne. Le nom de l’option est
passwordless_enabled
.Icône URL : Définit l’icône au-dessus du formulaire de connexion Auth0 intégré. Le nom de l’option est
icon_url
.Titre du formulaire : Définit le titre du formulaire de connexion Auth0 intégré. Le nom de l’option est
form_title
.Activer l’intégration Gravatar : Lorsque l’utilisateur entre son adresse électronique, la photo Gravatar associée s’affiche dans le formulaire de connexion Auth0 intégré. Le nom de l’option est
gravatar
.Style du nom de la connexion : La sélection de l’option Courriel exigera que les utilisateurs saisissent leur adresse courriel pour se connecter. Définissez cette option sur Nom d’utilisateur si vous ne voulez pas forcer un nom d’utilisateur à être une adresse courriel valide. Le nom de l’option est
username_style
. Le nom de l’option estclient_secret_b64_encoded
.Couleur primaire : Pour en savoir plus sur ce paramètre, veuillez consulter Options de configuration Lock. Le nom de l’option est
primary_color
.Paramètres supplémentaires : Un objet JSON valide qui inclut des options pour appeler Lock. Cela remplace toutes les autres options définies ci-dessus. Pour obtenir la liste des options disponibles, voir Lock : Options configurables par l’utilisateur (p. ex., :
{"disableResetAction": true }
). Le nom de l’option estextra_conf
.Utiliser l’URL Lock JS personnalisée : Lorsque désactivé, WordPress utilisera automatiquement la dernière version testée de Lock (formulaire de connexion Auth0 intégré). Lorsqu’il est activé, les administrateurs peuvent fournir une URL personnalisé de Lock à utiliser. Le nom de l’option est
custom_cdn_url
.URL Lock JS personnalisée : Une URL valide vers une version de Lock. Ce champ sera automatiquement masqué lorsque Utiliser l’URL Lock JS personnalisée est désactivée. Le nom de l’option est
cdn_url
.Connexions à afficher : Énumérez ici chacun des fournisseurs d’identité que vous autorisez les utilisateurs à utiliser pour se connecter. Si laissé vide, tous les fournisseurs activés seront autorisés. (Pour en savoir plus, veuillez consulter Personnalisation de l’interface utilisateur Lock). Le nom de l’option est
lock_connections
.
Avancé
Exiger un courriel vérifié : Si cette option est activée, l’utilisateur doit avoir un courriel vérifié pour se connecter. Cela peut empêcher certaines connexions de fonctionner correctement si elles ne fournissent pas d’adresse courriel ou un indicateur
email_verified
dans les données du profil utilisateur. Le nom de l’option estrequires_verified_email
.Stratégies de saut : Si l’option Exiger un courriel vérifié est activée, ce paramètre s’affiche. Ce champ accepte les noms de stratégie pour ignorer l’exigence de courriel vérifié au moment de la connexion et de l’association de compte. Cela doit être utilisé uniquement pour les stratégies qui ne fournissent pas d’indicateur
email_verified
.Mémoriser la session utilisateur : Par défaut, les sessions utilisateur expirent au bout de deux jours. Activez ce paramètre pour garder les sessions utilisateur actif pendant 14 jours. Le nom de l’option est
remember_users_session
.Ce paramètre doit être inférieur ou égal au paramètre Délai d’inactivité de votre locataire pour assurer que la session de l’utilisateur est correctement maintenue.
URL de redirection de connexion : Si défini, redirige les utilisateurs vers l’URL spécifiée après la connexion. Cela n’affecte pas la connexion via le shortcode
[auth0]
. Le nom de l’option estdefault_login_redirection
. Pour modifier la redirection du shortcode, ajoutez un attributredirect_to
, comme ceci :[auth0 redirect_to="http://yourdomain.com/redirect-here"]
Forcer le rappel HTTPS : Activez cette option si votre site autorise le HTTPS mais ne l’applique pas. Cela forcera les rappels Auth0 vers HTTPS dans le cas où votre URLd’accueil n’est pas configurée pour HTTPS. Le nom de l’option est
force_https_callback
.Approvisionnement automatique : Les nouveaux utilisateurs de Auth0 doivent-ils être stockés dans la base de données WordPress si les nouvelles inscriptions ne sont pas autorisées? Cela va créer des utilisateurs WordPress qui n’existent pas lorsqu’ils se connectent via Auth0 (par exemple, si un utilisateur est créé dans le Auth0 Dashboard). Le nom de l’option est
auto_provisioning
.Migration des utilisateurs : Activer cette option exposera les services Web de migration Auth0. Cependant, la connexion devra être configurée manuellement dans le Auth0 Dashboard. Pour en savoir plus sur le processus de migration, veuillez consulter Migration des utilisateurs dans le plugiciel Login by Auth0 pour WordPress. Le bouton Générer un nouveau jeton de migration peut être utilisé pour remplacer le jeton enregistré par un nouveau. Assurez-vous que votre page de configuration de la connexion à la base de données est ouverte dans l’onglet Base de données personnalisée afin de pouvoir remplacer le jeton existant par le nouveau dans les deux scripts. Le nom de l’option est
migration_ws
. Le nom de l’option du jeton de migration estmigration_token
.Liste des IP de migration : Seules les demandes provenant des IP répertoriées seront autorisées à accéder au service Web de migration. Le nom de l’option est
migration_ips_filter
.IP du proxy valide : Répertorier l’adresse IP de votre proxy ou de votre équilibreur de charge pour permettre les vérifications d’IP pour les connexions et les services Web de migration. Le nom de l’option est
valid_proxy_ip
.Domaine du serveur Auth0 : Le domaine Auth0, est utilisé par l’assistant de configuration pour récupérer les informations de votre compte. Le nom de l’option est
auth0_server_domain
.