Méthode d'authentification OAuth 2.0 de l'API REST WordPress
Aperçu
OAuth 2.0 est la méthode la plus choisie pour authentifier l'accès aux API. OAuth 2.0 permet l'autorisation sans avoir à fournir l'adresse e-mail ou le mot de passe de l'utilisateur à une application externe. Cette méthode d'authentification OAuth 2.0 de l'API REST WordPress implique l'utilisation du flux de protocole OAuth 2.0 pour obtenir le jeton d'accès de sécurité ou le jeton d'identification (jeton JWT) et ce jeton sera utilisé pour authentifier les points de terminaison de l'API REST WordPress. Chaque fois qu'une demande d'accès le point de terminaison de l'API REST WordPress sera créé, l'authentification sera effectuée par rapport à ce jeton d'accès/jeton d'identification (jeton JWT), et sur la base de la vérification de ce jeton API Bearer, les ressources pour cette demande d'API seront autorisées à accéder.
Le jeton fourni à l'aide de la méthode d'authentification OAuth 2.0 est hautement crypté et sécurisé, la sécurité n'est donc pas compromise. Il s'agit de la méthode la plus sûre pour authentifier/protéger les points de terminaison de l'API REST WordPress. Cette méthode est quelque peu similaire à la méthode d'authentification JWT mais beaucoup plus sûre en raison des divers avantages du protocole OAuth 2.0.
Authentification de l'API REST WordPress

Le plugin d'authentification de l'API REST WordPress offre une sécurité contre tout accès non autorisé à vos API REST WordPress. Notre plugin fournit plusieurs méthodes d'authentification telles que l'authentification de base, l'authentification par clé API, l'authentification OAuth 2.0 et l'authentification JWT.
Savoir PlusPré-requis : Téléchargement Et Installation
- Connectez-vous à votre instance WordPress en tant qu'administrateur.
- Aller sur WordPress Tableau de bord -> Plugins et cliquez sur Ajouter un nouveau.
- Rechercher un WordPress Authentification API REST plugin et cliquez sur Installer maintenant.
- Une fois installé cliquez sur Activer.
Cas d'utilisation : sécurisation de l'API REST avec la méthode d'authentification OAuth 2.0
1. Octroi de mot de passe :
Cas d'utilisation : Enregistrer l'utilisateur WordPress ou authentifier/connecter les utilisateurs sur des plateformes externes en fonction des informations d'identification WordPress via l'API REST WordPress
Supposons que vous ayez un formulaire de connexion dans votre application et que vous souhaitiez authentifier l'utilisateur sur la base de ses identifiants de connexion WordPress, alors la méthode d'authentification OAuth 2.0 dans l'API REST vous aidera à y parvenir. Le plugin fournit une API de connexion WordPress. Vous pouvez facilement transmettre les identifiants WordPress de cet utilisateur à cette API et, en fonction de la validation, vous recevrez l'authentification et la réponse.
En outre, la mise en œuvre de l'authentification OAuth 2.0 dans la méthode API REST peut également être utilisée pour enregistrer des utilisateurs dans WordPress à l'aide des informations d'identification d'administrateur de l'utilisateur WordPress. À l'aide du point de terminaison du jeton OAuth 2.0 du plugin, vous pouvez transmettre les informations d'identification de l'utilisateur WordPress qui ont des capacités d'administrateur, de sorte que le jeton généré aura des capacités d'administrateur et pourra être utilisé pour effectuer des opérations telles que l'enregistrement d'utilisateur pour lesquelles des privilèges d'administrateur sont requis. Une fois que vous avez le jeton, vous pouvez l'utiliser avec l'API WordPress '/users' pour enregistrer des utilisateurs dans WordPress via une demande d'API REST.
2. Informations d'identification du client :
Cas d'utilisation : authentifiez/protégez les points de terminaison de l'API REST WordPress en toute sécurité ou enregistrez les utilisateurs dans WordPress sans utiliser les informations d'identification de l'utilisateur administrateur.
Si vous souhaitez accéder à l'API REST de WordPress sans transmettre les informations d'identification de l'utilisateur WordPress ou si vous souhaitez enregistrer les utilisateurs dans WordPress en toute sécurité sans avoir besoin de transmettre les informations d'identification de l'utilisateur administrateur de WordPress et de transmettre à la place les informations d'identification du client fournies par le plugin, alors cette méthode est la solution parfaite pour qu'il n'y ait aucune chance que les informations d'identification de l'utilisateur soient compromises.
Le plugin agit à la fois comme un fournisseur d'identité OAuth 2.0 (serveur) qui fournit le jeton et l'authentificateur d'API REST pour l'authentification de ces points de terminaison d'API REST WordPress sur la base du jeton. Par conséquent, il offre une sécurité maximale pour obtenir le jeton et ce jeton peut être utilisé pour authentifier la demande d'API REST.
- Le flux d'implémentation de la méthode d'authentification OAuth 2.0 dans les méthodes de l'API REST est expliqué ci-dessous :
1. La requête API REST sera effectuée avec les paramètres appropriés pour obtenir le token de notre plugin. Notre plugin agira en tant que fournisseur d'identité OAuth 2.0 et fournira le jeton d'accès.
2. La demande réelle de l'API REST pour accéder à la ressource sera effectuée avec le jeton d'accès reçu lors de la dernière étape passée dans l'en-tête Autorisation avec le type de jeton comme Bearer. Le plugin agit désormais comme authentificateur pour authentifier l'API sur la base de la validité du jeton. Si le jeton est validé avec succès, le demandeur de l'API sera autorisé à accéder à la ressource. Sinon, en cas d'échec de la validation, la réponse d'erreur sera renvoyée.
Cas d'utilisation associé :
- Comment se connecter ou enregistrer des utilisateurs à l’aide de l’API REST de WordPress ?
- Comment authentifier les utilisateurs WordPress à l’aide de l’API ?
Lisez les cas d’utilisation pour les méthodes d’authentification de l’API REST suivantes :
API REST WordPress OAuth 2.0 utilisant l'octroi de mot de passe :
- Dans le plugin, allez dans Configurer Authentification API onglet et cliquez sur Authentification OAuth 2.0 comme méthode d'authentification API.
- Sélectionnez le Subvention OAuth 2.0 Tapez comme octroi de mot de passe.
-
Vous pouvez désormais opter pour n’importe quel type de jeton comme jeton d’accès ou jeton JWT.
Le jeton d'accès est une chaîne aléatoire associée à l'utilisateur pour lequel il est généré tandis que le jeton JWT ou le jeton d'identification est formé selon la norme JWT qui se compose des détails de l'utilisateur codés pour lesquels le jeton est généré. Ce jeton peut être décodé à l'aide de sa clé et les détails de l'utilisateur peuvent être analysés. Par conséquent, ce jeton est recommandé dans les cas où les détails du profil WP de l'utilisateur doivent être récupérés ultérieurement. - Maintenant, cliquez sur Enregistrer la configuration pour enregistrer les paramètres d'authentification OAuth 2.0 et activer cette méthode d'authentification pour sécuriser les points de terminaison de l'API REST WordPress.
- Une fois que vous cliquez sur le Enregistrer la configuration, vous obtiendrez l'ID client, le secret client et le point de terminaison du jeton (le point de terminaison auquel un appel API doit être effectué pour recevoir le jeton de sécurité).
- Maintenant, vous devrez passer deux appels :
- Pour obtenir le jeton d'accès/jeton JWT, vous devez effectuer un appel API au point de terminaison du jeton OAuth 2.0 fourni par notre plugin illustré ci-dessous.

La partie configuration du plugin a maintenant été effectuée avec succès. Vous trouverez ci-dessous la partie dans laquelle le jeton d'accès de sécurité/JWT réel sera obtenu et utilisé davantage pour accéder aux API REST de WordPress.
I : Récupérer le jeton
Request: POST https://<domain-name>/wp-json/api/v1/token
Body:
grant_type =<password>
username =<wordpress username>
password = <wordpress password>
client_id =<client id>
Sample curl Request Format-
curl -d "grant_type=password&username=<wordpress_username>&password=<wordpress_password>&client_id=<client_id>"
-X POST http://<wp_base_url>/wp-json/api/v1/token
-H 'app-name:TheAppName'
Request: POST https://<domain-name>/wp-json/api/v1/token
Body:
grant_type = <refresh_token>
refresh_token = <Refresh Token>
Sample curl Request Format-
curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
-X POST http://<wp_base_url>/wp-json/api/v1/token
-H 'app-name:TheAppName'
II : Envoyer une demande d'API REST WordPress réelle
- Une fois que vous avez obtenu le access_token / id_token (jeton JWT) à l'aide du flux d'attribution de mot de passe OAuth 2.0, vous pouvez l'utiliser pour demander l'accès aux points de terminaison de l'API REST WordPress, comme indiqué ci-dessous.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header: Authorization :Bearer <access_token /id_token>
API REST WordPress OAuth 2.0 utilisant les informations d'identification du client Octroi :
- Dans le plugin, allez dans Configurer Authentification API onglet et cliquez sur Authentification OAuth 2.0 comme méthode d'authentification API.
- Sélectionnez maintenant le Subvention OAuth 2.0 Tapez comme octroi d'informations d'identification client.
- Une fois que vous aurez cliqué sur la configuration de sauvegarde, vous obtiendrez le identité du client, Secret client et le Point de terminaison du jeton.
- Ici, vous devrez passer deux appels :
- Après avoir enregistré la configuration ci-dessus, vous obtiendrez l'ID client, le client-secret et le point de terminaison du jeton.
- obtenez le jeton, vous devez envoyer une demande de jeton comme indiqué ci-dessous

I : Récupérer le jeton
Request: POST https://<domain-name>/wp-json/api/v1/token
Body:
grant_type = <client_credentials>
client_id = <client id>
client_secret = <client secret>
Sample curl Request Format-
curl -d "grant_type=client_credentials&client_id=<client_id>&client_secret=<client_secret>"
-X POST http://<wp_base_url>/wp-json/api/v1/token
-H 'app-name:TheAppName'
Request: POST https://<domain-name>/wp-json/api/v1/token
Body:
grant_type = <refresh_token>
refresh_token = <Refresh Token>
Sample curl Request Format-
curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
-X POST http://<wp_base_url>/wp-json/api/v1/token
-H 'app-name:TheAppName'
II : Envoyer une demande d'API
- Une fois que vous avez obtenu les informations d'identification du client access_token / id_token by OAuth 2.0, vous pouvez les utiliser pour demander l'accès au point de terminaison de l'API REST WordPress, comme indiqué ci-dessous.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header: Authorization : Bearer <access_token /id_token>
Fonctionnalités de sécurité supplémentaires
Cette méthode vous offre des installations de sécurité supplémentaires qui vous permettent d'avoir plus de contrôle sur les jetons et donc sur la sécurité de votre site Web -
1. Actualiser le jeton -

Vous pouvez activer cette option si vous souhaitez recevoir une chaîne qui est un jeton d'actualisation ainsi qu'un jeton d'accès ou un jeton JWT dans la demande de point de terminaison du jeton. Cela permettra à l'utilisateur d'accéder aux mêmes ressources que celles qui lui ont été accordées précédemment. Une fois le nouveau jeton créé, l'utilisateur ne devrait pas avoir accès au-delà de l'autorisation d'origine. Les jetons d'actualisation permettent aux serveurs d'autorisation d'utiliser de courtes périodes (durée de vie) pour les jetons d'accès sans avoir à impliquer l'utilisateur lors de l'expiration du jeton. Avec ce jeton, vous pouvez régénérer le jeton d'accès/le jeton JWT car ils sont censés expirer sous peu pour augmenter la sécurité.
2. Révoquer le jeton -

L'activation de cette option vous permet de révoquer le jeton d'accès/JWT existant pour le rendre invalide et, par conséquent, le jeton particulier ne peut pas être utilisé pour authentifier les API WP REST. L'API RESTful valide d'abord les informations d'identification de l'application et si le jeton a été émis à l'application effectuant la demande de révocation. Si la validation échoue, la demande particulière est refusée et une erreur s'affiche dans l'application. L'API invalide le jeton et celui-ci ne peut plus être utilisé après sa révocation. Chaque demande de révocation invalide les jetons émis pour le même type d'octroi d'autorisation.
Exemples de code dans les langages de programmation
- Informations d'identification du client
- Octroi de mot de passe
- Actualiser le jeton
- Demande de ressources
Échantillons de facteur :
- Exemple de demande pour obtenir un jeton :
- Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
- Maintenant, extrayez le zip et importez le fichier json extrait dans l'application postman.
- Exemple


- Exemple de format de requête pour demander des ressources en utilisant le jeton obtenu à la dernière étape.
- Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
- Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
- Exemple


- Exemple de demande pour obtenir un jeton :
- Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
- Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
- Exemple


- Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
- Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
- Exemple


Fonction description
1. Restriction de l'API REST basée sur les rôles :
Cette fonctionnalité vous permet de restreindre l'accès à l'API REST en fonction des rôles des utilisateurs. Vous avez la possibilité de spécifier les rôles autorisés à accéder à la ressource demandée via les API REST. Par conséquent, lorsqu'un utilisateur effectue une demande d'API REST, son rôle est vérifié et l'accès à la ressource est accordé exclusivement si son rôle est inclus dans la liste blanche.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Ensuite, dans la section Restriction basée sur les rôles, tous les rôles par défaut seront autorisés à accéder aux API. Vous pouvez cocher la case des rôles pour lesquels vous souhaitez restreindre l'accès.
- Dans la capture d'écran ci-dessus, la case à cocher du rôle d'abonné est activée. Ainsi, chaque fois qu'une demande d'API est effectuée par l'utilisateur avec son rôle d'abonné, cet utilisateur ne sera pas autorisé à accéder à la ressource demandée.

Attention : La fonctionnalité de restriction basée sur les rôles est valide pour l’authentification de base (nom d’utilisateur : mot de passe), la méthode JWT et OAuth 2.0 (octroi de mot de passe).
2. En-tête personnalisé :
Cette fonctionnalité offre la possibilité de choisir un en-tête personnalisé plutôt que l'en-tête « Autorisation » par défaut.
Cela augmentera la sécurité car vous avez l'en-tête nommé avec votre « nom personnalisé », donc si quelqu'un fait la demande d'API REST avec un en-tête comme « Autorisation », il ne pourra pas accéder aux API.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Ensuite, dans la section « En-tête personnalisé », vous pouvez modifier la zone de texte pour saisir le nom personnalisé souhaité.

3. Excluez les API REST :
Cette fonctionnalité vous permet de mettre sur liste blanche vos API REST afin que celles-ci soient accessibles directement sans aucune authentification. Par conséquent, toutes ces API REST sur liste blanche sont accessibles au public.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Ensuite, dans « Exclure les API REST », vous pouvez saisir vos API au format prescrit qui doivent être mises sur liste blanche pour l'accès public.
- Exemple : Supposons que vous souhaitiez exclure l'API REST ' ' /wp-json/wp/v2/posts' puis vous devez saisir '/wp/v2/posts' dans la zone de texte.

4. Activez le cryptage avancé pour les jetons à l'aide de HMAC :
Cette fonctionnalité s'applique aux méthodes JWT et OAuth 2.0 qui utilisent des jetons basés sur le temps pour authentifier les points de terminaison de l'API REST WordPress. Cette fonctionnalité vous permet de définir l'expiration personnalisée des jetons de sorte que le jeton ne soit plus valide une fois qu'il expire.
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Ensuite, dans la section « Configuration de l'expiration du jeton », la validité du jeton d'accès et le jeton d'actualisation (utilisé pour la méthode OAuth 2.0) peuvent être modifiés. Par défaut, le délai d'expiration du jeton d'accès est défini sur 60 minutes et le délai d'expiration du jeton d'actualisation est défini sur 14 jours. Ainsi, grâce à cette fonctionnalité, l'expiration peut être ajustée en fonction des besoins.

Articles Relatifs
Demander une démo du plugin
Obtenez un essai complet
Merci pour votre réponse. Nous vous répondrons dans les plus brefs délais.
Quelque chose s'est mal passé. Veuillez soumettre à nouveau votre requête

Besoin d'aide?
Envoyez-nous un e-mail [email protected] pour des conseils rapides (par e-mail/réunion) sur vos besoins et notre équipe vous aidera à sélectionner la solution/le plan le mieux adapté à vos besoins.