Ajoutez l’authentification à votre site WordPress avec le plugin Logto
Ce tutoriel vous montrera comment intégrer Logto à votre site WordPress avec notre plugin officiel WordPress.
Prérequis
- Un compte Logto Cloud ou un Logto auto-hébergé.
- Une application traditionnelle Logto créée.
- Un projet WordPress : suivez le guide d'installation officiel de WordPress pour configurer votre site WordPress avant de continuer.
Intégration
Installer le plugin
Pour le moment, notre plugin est encore en cours de révision et n'est pas disponible dans le répertoire des plugins WordPress. Nous mettrons à jour cette page une fois qu'il sera disponible.
- Depuis un téléchargement
- Téléchargez le plugin Logto pour WordPress à partir de l'un des liens suivants :
- Dernière version : Téléchargez le fichier dont le nom est au format
logto-plugin-<version>.zip
.
- Dernière version : Téléchargez le fichier dont le nom est au format
- Téléchargez le fichier ZIP du plugin.
- Allez dans Extensions > Ajouter dans votre panneau d'administration WordPress.
- Cliquez sur Téléverser une extension.
- Sélectionnez le fichier ZIP téléchargé et cliquez sur Installer maintenant.
- Cliquez sur Activer.
Configurer le plugin
Vous devriez maintenant voir le menu Logto dans la barre latérale de votre panneau d'administration WordPress. Cliquez sur Logto > Paramètres pour configurer le plugin.
Vous devez avoir une application web traditionnelle créée dans Logto Console avant de configurer le plugin. Si vous n'en avez pas créé une, veuillez vous référer à Intégrer Logto dans votre application pour plus d'informations.
La configuration minimale pour commencer avec le plugin est :
- Point de terminaison Logto : Le point de terminaison de votre locataire Logto.
- ID de l'application : L'ID de votre application Logto.
- Secret de l'application : Un des secrets valides de votre application Logto.
Toutes les valeurs peuvent être trouvées sur la page des détails de l'application dans Logto Console.
Après avoir rempli les valeurs, cliquez sur Enregistrer les modifications (faites défiler vers le bas de la page si vous ne trouvez pas le bouton).
Configurer l'URI de redirection
L'URI de redirection est l'URL vers laquelle Logto redirigera les utilisateurs après qu'ils se soient authentifiés ; et l'URI de redirection après déconnexion est l'URL vers laquelle Logto redirigera les utilisateurs après qu'ils se soient déconnectés.
Voici un diagramme de séquence non normatif pour illustrer le flux de connexion :
Voici à quoi ressemble le flux de déconnexion dans un diagramme de séquence non normatif :
Pour en savoir plus sur la nécessité de la redirection, voir Expérience de connexion expliquée.
Dans notre cas, nous devons configurer les deux URIs de redirection dans votre Logto Console. Pour trouver l'URI de redirection, allez à la page Logto > Paramètres dans votre panneau d'administration WordPress. Vous verrez les champs URI de redirection et URI de redirection après déconnexion.
- Copiez les valeurs URI de redirection et URI de redirection après déconnexion et collez-les dans les champs URIs de redirection et URIs de redirection après déconnexion dans votre Logto Console.
- Cliquez sur Enregistrer les modifications dans Logto Console.
Point de contrôle : Testez votre site WordPress
Vous pouvez maintenant tester votre intégration Logto sur votre site WordPress :
- Ouvrez une fenêtre de navigation privée si nécessaire.
- Visitez votre site WordPress et cliquez sur le lien Connexion si applicable ; ou visitez directement la page de connexion (par exemple,
https://example.com/wp-login.php
). - La page devrait vous rediriger vers la page de connexion Logto.
- Complétez le processus de connexion ou d'inscription.
- Après une authentification réussie, vous devriez être redirigé vers votre site WordPress et connecté automatiquement.
- Cliquez sur le lien Déconnexion pour vous déconnecter de votre site WordPress.
- Vous devriez être redirigé vers la page de déconnexion Logto, puis de retour sur votre site WordPress.
- Vous devriez être déconnecté de votre site WordPress.
Paramètres d'authentification
Bien que le plugin fonctionne dès l'installation, vous pouvez personnaliser les paramètres d'authentification sur la page des paramètres du plugin Logto pour mieux répondre à vos besoins.
Portées
Logto utilise des portées pour contrôler quelles informations sont partagées avec votre application. Le plugin WordPress Logto utilise le Logto PHP SDK pour gérer le processus d'authentification, qui inclut par défaut les portées suivantes :
openid
: La portée de base requise pour OpenID Connect.profile
: Pour obtenir les informations de profil de base de l'utilisateur.offline_access
: Pour obtenir un jeton de rafraîchissement pour un accès hors ligne.
Pour plus d'informations sur les portées, voir Portées et revendications.
Le plugin ajoute également deux portées supplémentaires par défaut :
email
: Pour obtenir l'adresse e-mail de l'utilisateur.roles
: Pour obtenir les rôles de l'utilisateur dans Logto.
Ces deux portées sont utilisées pour mapper l'e-mail et les rôles de Logto aux e-mails et rôles de WordPress. Vous pouvez personnaliser les portées en modifiant le champ Scopes dans les paramètres du plugin.
Si vous supprimez la portée email
ou roles
, certaines fonctionnalités du plugin ne fonctionneront pas correctement.
Paramètres supplémentaires
Vous pouvez ajouter des paramètres supplémentaires à la requête d'authentification pour personnaliser le processus d'authentification. Par exemple, vous pouvez ajouter le paramètre first_screen
pour décider quel écran afficher en premier dans le processus d'authentification.
Pour plus d'informations sur les paramètres supplémentaires, voir Paramètres d'authentification.
Exiger un e-mail vérifié
Par défaut, le plugin exige que les utilisateurs aient une adresse e-mail vérifiée dans Logto pour se connecter à votre site WordPress. Si un utilisateur essaie de se connecter sans une adresse e-mail vérifiée, le plugin générera une erreur.
Vous pouvez désactiver cette fonctionnalité en décochant l'option Exiger un e-mail vérifié dans les paramètres du plugin.
Exiger un ID d'organisation
Vous pouvez exiger que les utilisateurs aient une adhésion spécifique à une organisation dans Logto pour se connecter à votre site WordPress. Lorsqu'un ID d'organisation est spécifié, le plugin vérifiera si l'utilisateur possède l'ID d'organisation spécifié dans son jeton d’identifiant. Sinon, une erreur sera générée.
Pour en savoir plus sur les organisations, voir Organisations.
Paramètres d'autorisation
En plus de l'authentification, Logto fournit également des fonctionnalités d'autorisation comme le contrôle d’accès basé sur les rôles (RBAC). Bien qu'il nécessite un peu de code personnalisé pour implémenter le RBAC si vous développez votre propre application, le plugin WordPress Logto offre un moyen intégré de mapper les rôles Logto aux rôles WordPress.
Mappage des rôles
Le plugin WordPress Logto vous permet de mapper les rôles Logto aux rôles WordPress. Cela signifie que vous pouvez attribuer différents rôles aux utilisateurs dans Logto, et le plugin attribuera automatiquement les rôles WordPress correspondants à ces utilisateurs lorsqu'ils se connecteront.
Pour mapper les rôles, cliquez sur Ajouter dans la section Mappage des rôles pour ajouter un nouveau mappage de rôle. Par exemple, si vous souhaitez mapper le rôle group:editors
dans Logto au rôle Editor
dans WordPress, vous pouvez le faire en ajoutant un nouveau mappage de rôle avec les valeurs suivantes :
- Rôle Logto :
group:editors
- Rôle WordPress :
editor
(le slug du rôleEditor
dans WordPress)
Vous pouvez trouver les slugs des rôles de tous les rôles WordPress dans la documentation Rôles et Capacités.
Les slugs de rôle sont sensibles à la casse. Si vous entrez le nom du rôle comme Editor
au lieu de editor
, le mappage de rôle ne fonctionnera pas.
Maintenant, rendez-vous sur la Console Logto et cliquez sur Roles dans la barre latérale gauche. Créez un nouveau rôle nommé group:editors
et attribuez-le à un utilisateur. Ensuite, connectez-vous à votre site WordPress avec cet utilisateur. Vous devriez voir que l'utilisateur a été attribué au rôle Editor
dans WordPress.
Si l'utilisateur s'est déjà connecté à votre site WordPress, le mappage de rôle ne prendra effet que lorsque l'utilisateur se déconnectera et se reconnectera.
Vous pouvez également ajouter plusieurs mappages de rôles pour mapper plusieurs rôles Logto aux rôles WordPress. Pour le moment, le plugin essaiera de mapper les rôles avec l'ordre de priorité. Par exemple, si vous avez les mappages de rôles suivants :
- Rôle Logto :
group:editors
, Rôle WordPress :editor
- Rôle Logto :
group:authors
, Rôle WordPress :author
- Rôle Logto :
group:subscribers
, Rôle WordPress :subscriber
Et qu'un utilisateur a à la fois les rôles group:editors
et group:authors
dans Logto, l'utilisateur se verra attribuer le rôle Editor
dans WordPress.
Paramètres avancés
Se souvenir de la session
Par défaut, le plugin se souviendra de la session de l'utilisateur pendant 2 semaines. Cela signifie que si un utilisateur se connecte à votre site WordPress, il ne sera pas invité à se reconnecter pendant 2 semaines. Vous pouvez réduire ce temps à 2 jours en décochant l'option Se souvenir de la session dans les paramètres du plugin.
Synchroniser le profil
Par défaut, le plugin synchronisera le profil de l'utilisateur à chaque connexion. Cela signifie que si un utilisateur se connecte à votre site WordPress, son profil sera mis à jour avec les dernières informations de Logto. Vous pouvez désactiver cette fonctionnalité en décochant l'option Synchroniser le profil dans les paramètres du plugin.
Si vous désactivez cette fonctionnalité, le mappage de rôle ne prendra effet que lorsque l'utilisateur se connectera pour la première fois.
Connexion par formulaire WordPress
Par défaut, vous pouvez ajouter ?form=1
à l'URL de connexion WordPress pour utiliser la connexion par formulaire WordPress. Cela est utile à des fins de test, mais vous pouvez désactiver cette fonctionnalité si vous ne souhaitez pas autoriser les utilisateurs à se connecter avec le formulaire WordPress.
Stratégie de nom d'utilisateur
Il existe plusieurs façons de générer un nom d'utilisateur pour un utilisateur dans WordPress. Il est sûr d'utiliser la stratégie par défaut lorsque vous vous fiez à l'e-mail comme identifiant unique d'un utilisateur.
Dépannage
L'URL de rappel affiche une erreur 404
Si l'URL de rappel affiche une erreur 404, il est probable que vos règles de réécriture WordPress soient obsolètes et doivent être actualisées manuellement. Pour ce faire, allez dans Réglages > Permaliens dans votre panneau d'administration WordPress (ou visitez directement /wp-admin/options-permalink.php
) et cliquez sur Enregistrer les modifications.
Questions fréquemment posées
Comment puis-je déclencher le flux de mot de passe oublié ?
Il existe deux façons de déclencher le flux de mot de passe oublié :
- Cliquez sur le lien de mot de passe oublié sur la page de connexion Logto.
- Ajoutez
?action=lostpassword
à l'URL de connexion WordPress. Par exemple,https://example.com/wp-login.php?action=lostpassword
. Cela vous redirigera vers la page de mot de passe oublié de Logto.
Comment puis-je utiliser la connexion par formulaire WordPress ?
Par défaut, vous pouvez ajouter ?form=1
à l'URL de connexion WordPress pour utiliser la connexion par formulaire WordPress. Par exemple, https://example.com/wp-login.php?form=1
.
Si vous souhaitez désactiver cette fonctionnalité, vous pouvez décocher l'option Connexion par formulaire WordPress dans les paramètres du plugin.