Méthode d'authentification par clé API REST WordPress | API REST sécurisée
Aperçu
L'authentification par clé API REST WordPress implique vérification de la clé API (jeton Bearer) Pour accéder aux API REST de WordPress. Chaque fois qu'une requête d'accès aux points de terminaison de l'API REST de WordPress est lancée, une authentification est nécessaire à l'aide de la clé (jeton porteur). L'accès aux ressources du point de terminaison de l'API REST WordPress demandé est accordé après validation de la clé API (jeton porteur).
Pour mémoire, la clé API est un protocole d'authentification conçu pour permettre aux développeurs de générer des clés d'authentification qui pourrait être utilisé pour des ressources telles que des processus côté serveur, des applications pour téléphones mobiles et des ordinateurs de bureau.
L'authentification par clé API WordPress est essentielle pour garantir la sécurité de votre API REST WordPress. Si la clé API est compromise, elle peut être régénérée, ce qui entraîne l'expiration automatique de toutes les clés précédemment générées. La clé nouvellement créée sera alors utilisée pour l'authentification par clé API WordPress. Ne pas sécuriser votre API REST peut présenter des risques de sécurité importants, car cela peut permettre à des personnes non autorisées d'accéder à votre système, ce qui peut entraîner des violations de données.
Ce guide vous guidera à travers un processus détaillé, étape par étape, pour installation et configuration de l'authentification de l'API REST WordPress pour améliorer la sécurité de votre API REST.
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 : protéger/sécuriser l'accès aux points de terminaison de l'API REST WordPress via une clé/un jeton porteur
1. L'authentification par clé API peut protéger vos points de terminaison d'API REST WordPress, tels que les articles, les pages ou toute autre API REST WordPress, en les protégeant des accès non autorisés et en évitant de partager les identifiants de connexion WP, l'ID client et le secret client d'un utilisateur pour l'authentification. Ce générateur de clé API WordPress crée une clé d'authentification unique, que vous pouvez utiliser pour authentifier différentes API REST WordPress sur votre site web.
L'authentification par clé API REST WordPress est l'une des approches les plus simples et les plus répandues pour renforcer votre API REST WordPress. Cette approche renforce la sécurité des API REST sur votre site WordPress.
2. Imaginez que vous avez développé une application de blog pour Android et iOS et que vous publiez tous vos articles sur WordPress. Cependant, vous souhaitez récupérer les articles/blogs depuis les API REST de WordPress tout en les rendant inaccessibles au public. Dans ce cas, il est conseillé d'implémenter l'authentification par clé API REST WordPress pour sécuriser vos requêtes GET et garantir la sécurité de vos terminaux.
Le plugin fournit deux types de clés API/jetons de sécurité qui peuvent être utilisés pour authentifier les API REST de WordPress -
I. Clé API universelle - La clé API universelle sera la plus adaptée pour authentifier les API REST WP, qui impliquent la méthode HTTP GET et ne nécessitent pas de capacités utilisateur WordPress.
Attention : Cette clé n'implique pas les capacités de l'utilisateur et ne peut pas être utilisée pour accéder aux API pour lesquelles WordPress attend des autorisations utilisateur. "Exemple - Si vous souhaitez simplement utiliser les API GET pour récupérer des articles WordPress généraux, des commentaires, etc. »
II. Clé API spécifique à l'utilisateur - L'API basée sur l'utilisateur sera la plus adaptée pour authentifier les API REST WP qui impliquent l'une des méthodes HTTP telles que GET, POST, PUT, DELETE, en particulier dans les cas où vous souhaitez effectuer des opérations impliquant des capacités utilisateur.
Exemple - Si vous souhaitez effectuer des opérations telles que la récupération de publications WordPress en fonction des capacités des utilisateurs (leurs rôles WP), des données des utilisateurs, ou si vous souhaitez créer de nouveaux utilisateurs, de nouvelles publications, etc.
Lisez les cas d’utilisation pour les méthodes d’authentification de l’API REST suivantes :
Configurer le plugin d'authentification API WordPress [Prime]
- Dans le plugin, allez dans le Onglet Configurer l'authentification API et cliquez sur Authentification par clé API comme méthode d'authentification API.
- Une fois la configuration enregistrée, sous le Section clé API universelle vous aurez la possibilité de générer un nouveau jeton, cliquez sur Générer une nouvelle clé bouton. Cette clé/jeton expirera lorsque vous générerez une nouvelle clé/jeton.
- Une fois la clé API (jeton) générée, vous pouvez l'utiliser pour sécuriser vos points de terminaison d'API REST WordPress. (Vous pouvez toujours générer une nouvelle clé API, et toutes les clés existantes expireront automatiquement).
- Vous devez transmettre la clé API à l'en-tête d'autorisation en tant que jeton porteur lors de la demande d'API REST sur votre site WP, comme indiqué dans l'étape ci-dessous.
- Les utilisateurs disposant de ce jeton peuvent accéder à l'API REST comme indiqué ci-dessous.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer <token>
Sample request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer kGUfhhzXZuWisofgnkAsuHGDyfw7gfhg5s
Sample curl Request Format-
curl -H "Authorization:Bearer <token-value>"
-X GET http://<wp_base_url>/wp-json/wp/v2/posts
-H 'app-name:TheAppName'
I. Authorization : Le HTTP Autorisation L'en-tête de requête inclut généralement les informations d'identification de l'agent utilisateur, ou le type et la valeur du jeton, permettant ainsi d'authentifier l'agent utilisateur auprès d'un serveur. Ce problème survient généralement après une tentative d'authentification infructueuse, lorsque le serveur répond avec le statut « […] ». 401 Non autorisé.
II. Bearer <token-value>: Le
Porteur est créé par le serveur d'authentification. Lorsqu'une application cliente sollicite le serveur d'authentification, celui-ci authentifie ce jeton et envoie une réponse à l'application cliente.
Exemples de code dans les langages de programmation
var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token-value>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
.addHeader = ("Authorization", "Bearer <token-value>");
.addHeader = ("app-name", "TheAppName");
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer < access_token / id_token >",
"app-name": "TheAppName"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array
(
CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <token-value>'
'app-name: TheAppName'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': 'Bearer <token-value>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()
data = res.read()
print (data.decode("utf-8"))
Échantillons de facteur :
- Téléchargez l'export de la collection POSTMAN depuis ici.
- Importez le fichier JSON téléchargé dans l'application Postman comme indiqué ci-dessous.
- Une fois que vous importez le fichier JSON, cliquez sur le Demande d'API REST sous le Collections comme indiqué dans la dernière figure. Remplacez maintenant le avec votre domaine Wordpress dans le http://<wp_base_url>/wp-json/wp/v2/posts et remplacez l'API dans l'en-tête avec la valeur du jeton telle que générée dans le plugin.
- Exemple :
Suivez les étapes ci-dessous pour effectuer une requête API REST à l'aide de Postman :
Fonction description
1. Restriction de l'API REST basée sur les rôles :
Cette fonctionnalité permet de restreindre l'accès aux API REST en fonction des rôles des utilisateurs. Vous pouvez spécifier les rôles autorisés à accéder à la ressource demandée via les API REST. Ainsi, lorsqu'un utilisateur lance une requête API REST, son rôle est récupéré et l'accès à la ressource n'est accordé que s'il est inclus dans la liste blanche.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Dans la section « Restriction basée sur les rôles », tous les rôles ont initialement accès aux API par défaut. Cependant, vous pouvez limiter l'accès de manière sélective en cochant la case correspondant aux rôles à restreindre.
- Dans la capture d'écran ci-dessus, la case à cocher « rôle d'abonné » est activée. Ainsi, lorsqu'un utilisateur ayant le rôle d'abonné effectue une requête API, il ne sera pas autorisé à accéder à la ressource demandée.
À noter: 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, OAuth 2.0 (octroi de mot de passe) et l'authentification par clé API (clé API spécifique à l'utilisateur).
2. En-tête personnalisé
Cette fonctionnalité permet de choisir un en-tête personnalisé plutôt que l'en-tête « Authorization » par défaut. Cela renforce la sécurité grâce à un en-tête personnalisé. Si une personne tente d'envoyer une requête API REST avec un en-tête « Authorization », elle ne pourra pas accéder aux API.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Puis dans le 'En-tête personnalisé' section, vous pouvez modifier la zone de texte pour saisir le nom personnalisé souhaité.
3. Exclure les API REST
Cette fonctionnalité vous permet de créer une liste blanche pour vos API REST, permettant ainsi un accès direct sans authentification. Ainsi, toutes les API REST incluses dans cette liste blanche deviennent 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 doit être ajouté à la liste blanche pour l'accès public.
- Exemple : Supposons que vous souhaitiez exclure l'API REST ' /wp-json/wp/v2/posts', vous devez alors saisir '/wp/v2/posts' dans la zone de texte.
4. Créer des clés/jetons API spécifiques à l'utilisateur
- Cette fonctionnalité est disponible dans la méthode de clé API, permettant de générer des jetons en fonction d'informations spécifiques à l'utilisateur plutôt que d'un jeton généré aléatoirement qui est une clé universelle.
- Lors de l'utilisation de la clé/du jeton d'API universelle, les utilisateurs peuvent ne pas disposer des autorisations nécessaires pour accéder à certaines API REST WordPress avec des méthodes de requête telles que POST, PUT ou DELETE. Ces API impliquent des actions telles que la création d'utilisateurs, de publications, de pages, etc., qui nécessitent des autorisations ou des rôles utilisateur spécifiques. Cette limitation est due au fait que la clé universelle est générée aléatoirement et n'inclut pas d'informations spécifiques à l'utilisateur.
- La fonctionnalité de clé/jeton API basé sur l'utilisateur permet aux utilisateurs d'utiliser les API REST de WordPress avec des méthodes de requête telles que POST, PUT et DELETE, qui exigent des identifiants utilisateur ou des rôles spécifiques pour l'utilisation des fonctionnalités. Lorsqu'une requête API REST de WordPress est exécutée avec la clé basée sur l'utilisateur, le système récupère le rôle de l'utilisateur et accorde l'accès uniquement si celui-ci possède les autorisations nécessaires.
- Par Exemple: Seuls les utilisateurs disposant des rôles d'administrateur et d'éditeur ont l'autorisation de créer/modifier/supprimer une publication.
- Ainsi, si une demande est faite à cette API pour créer/supprimer/modifier la publication, la réponse de l'API sera « Vous n'êtes pas autorisé à effectuer cette opération ».
- Désormais, si une demande est effectuée avec le jeton basé sur l'utilisateur généré pour l'utilisateur qui a un rôle d'administrateur ou d'éditeur, lui seul a accès à cette API et peut opérer (créer/mettre à jour/supprimer) via l'appel d'API.
- Sélectionnez l'utilisateur dans la liste déroulante et cliquez sur le Créer une clé API .
- Une pop-up apparaîtra à l'écran, il vous suffit de cliquer sur le OK bouton pour copier le jeton.
- Ce jeton peut désormais être utilisé avec la demande d'API, tout comme la clé universelle est utilisée pour effectuer la demande d'API.
Comment utiliser cette fonctionnalité :
Félicitations ! Vous avez configuré avec succès l'authentification par clé API REST WordPress grâce à ce guide. Vos points de terminaison API REST WordPress sont désormais sécurisés et vos données sont protégées contre tout accès non autorisé.
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 apisupport@xecurify.com 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.
