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

  1. 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.

  1. 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.

  2. 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

  3. 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 :

  1. 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.

  2. Entrez la URL de connexion dans le champ URL de déconnexion autorisées

  3. Laisser le champ Allowed Origins (CORS) (Origines autorisées) vide (il utilisera les valeurs des URL de rappel autorisées ci-dessus)

  1. 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).

  2. Activer la fonction OIDC Conformant.

  3. Cliquez sur l’onglet Types d’autorisation et sélectionnez au moins Code d’autorisation et Informations d’identification du client.

  4. 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.

  1. Assurez-vous que votre application permet l’autorisation des Informations d’identification du client (étape 10 de la section ci-dessus).

  2. Naviguez vers Tableau de bord Auth0 > Applications > API.

  3. Sélectionnez Management API Auth0, puis l’affichage Applications machine à machine.

  4. Recherchez l’application WordPress et sélectionnez Non autorisé pour accorder l’accès.

  5. Dans le panneau qui apparaît, sélectionnez uniquement les champs read:users et update: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.

  1. 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.

  2. 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

  1. Allez dans Auth0 Dashboard > Applications > Applications et sélectionnez l’application créée ci-dessus.

  2. Dans un nouvel onglet/fenêtre, connectez-vous à wp-admin pour votre site WordPress et allez à wp-admin > Auth0 > Paramètres.

  3. 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.

  4. 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 est wle_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 est auto_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 est client_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 est extra_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 est requires_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.

  • 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 est default_login_redirection. Pour modifier la redirection du shortcode, ajoutez un attribut redirect_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 est migration_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.

En savoir plus