Méthode d'authentification par clé API REST pour WordPress | API REST sécurisée
Marché
L'authentification par clé d'API REST pour WordPress implique vérification de la clé API (jeton Bearer) Pour accéder aux API REST de WordPress, une authentification est requise à chaque requête. Cette authentification s'effectue à l'aide d'une clé (jeton d'authentification). L'accès aux ressources de l'API REST demandée est accordé après validation de cette clé (jeton d'authentification).
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 pourraient être utilisés pour des ressources telles que les processus côté serveur, les applications mobiles et les ordinateurs de bureau.
L'authentification par clé API est essentielle pour garantir la sécurité de votre API REST WordPress. En cas de compromission de la clé, celle-ci peut être régénérée, entraînant l'expiration automatique de toutes les clés précédentes. La nouvelle clé sera ensuite utilisée pour l'authentification de l'API WordPress. Négliger la sécurité de votre API REST peut engendrer des risques importants, car cela peut permettre à des personnes non autorisées d'accéder à votre système et potentiellement conduire à des fuites 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 pour WordPress pour améliorer la sécurité de votre API REST.
Authentification de l'API REST pour WordPress

L'extension d'authentification REST API pour WordPress protège vos API REST contre les accès non autorisés. Elle propose plusieurs méthodes d'authentification : authentification de base, authentification par clé API, OAuth 2.0 et authentification JWT.
En 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 Authentification API REST plugin pour WordPress et cliquez sur Installer maintenant.
- Une fois installé cliquez sur Activer.
Cas d'utilisation : Protection et sécurisation de l'accès aux points de terminaison de l'API REST pour WordPress via une clé/un jeton d'authentification.
L'authentification par clé API protège vos points de terminaison d'API REST WordPress (articles, pages, etc.) contre les accès non autorisés et évite de devoir partager les identifiants de connexion WordPress (ID client et clé secrète) pour l'authentification. Ce générateur de clés API pour WordPress crée une clé d'authentification unique, utilisable pour authentifier les différentes API REST de votre site web.
L'utilisation de l'authentification par clé API REST pour WordPress représente l'une des approches les plus simples et les plus répandues pour sécuriser votre API REST. Cette approche renforce la sécurité des API REST sur votre site WordPress.
2. Imaginez que vous ayez développé une application de blog pour Android et iOS et que tous vos articles soient publiés sur WordPress. Vous souhaitez toutefois récupérer ces articles via les API REST de WordPress tout en les rendant inaccessibles au public. Dans ce cas, il est conseillé de mettre en œuvre l'authentification par clé d'API REST pour WordPress afin de sécuriser vos requêtes GET et garantir ainsi la sécurité de vos points de terminaison.
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 est la plus adaptée pour authentifier les API REST, qui utilisent la méthode HTTP GET et ne nécessitent pas de droits d'utilisateur WordPress.
Remarque : cette clé n’implique aucun droit d’accès utilisateur et ne permet pas d’accéder aux API nécessitant des autorisations utilisateur. « Exemple : si vous souhaitez simplement utiliser les API GET pour récupérer les articles, commentaires, etc. de WordPress. »
II. Clé API spécifique à l'utilisateur - L'API basée sur l'utilisateur sera la plus appropriée pour authentifier les API REST 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 qui impliquent des capacités utilisateur.
Exemple : Si vous souhaitez effectuer des opérations telles que la récupération d’articles WordPress en fonction des capacités de l’utilisateur (leurs rôles WP), des données utilisateur, ou si vous souhaitez créer de nouveaux utilisateurs, de nouveaux articles, etc.
Consultez les cas d'utilisation des méthodes d'authentification d'API REST suivantes :
Configurer le plugin d'authentification API pour 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é/ce jeton expirera lorsque vous générerez une nouvelle clé/un nouveau 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 pour WordPress. (Vous pouvez générer une nouvelle clé API à tout moment ; toutes les clés générées expireront automatiquement.)
- Vous devez transmettre la clé API à l'en-tête d'autorisation sous forme de jeton porteur lors de la requête API REST vers 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 du serveur. Cela se produit généralement après une tentative d'authentification infructueuse, lorsque le serveur répond par un statut de 401 Non autorisé.
II. Bearer <token-value>: Le
Porteur Le jeton est créé par le serveur d'authentification. Lorsqu'une application cliente le demande, le serveur authentifie ce jeton et lui répond en conséquence.
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. Maintenant, remplacez 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 par 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 effectue une requête API REST, son rôle est récupéré et l'accès à la ressource n'est accordé que si ce rôle figure sur 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. Vous pouvez toutefois limiter cet accès de manière sélective en cochant la case correspondant aux rôles que vous souhaitez restreindre.
- Dans la capture d'écran ci-dessus, la case « Rôle d'abonné » est cochée. Par conséquent, 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.
Remarque : La fonctionnalité de restriction basée sur les rôles est valable 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é au lieu de l'en-tête « Authorization » par défaut. Cela renforce la sécurité grâce à l'ajout d'un en-tête personnalisé. Toute personne tentant d'envoyer une requête API REST avec un en-tête « Authorization » se verra refuser l'accès 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é' Dans cette section, vous pouvez modifier la zone de texte pour saisir le nom personnalisé que vous souhaitez.
3. Exclure les API REST
Cette fonctionnalité vous permet de créer une liste blanche pour vos API REST, autorisant ainsi un accès direct sans authentification. Par conséquent, toutes les API REST incluses dans cette liste blanche deviennent accessibles publiquement.
Comment le configurer ?
- Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
- Ensuite, dans la section « Exclure les API REST », vous pouvez saisir vos API au format prescrit, lesquelles doivent être autorisées pour un 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 via la méthode de clé API, permettant de générer des jetons à partir d'informations spécifiques à l'utilisateur plutôt qu'à partir d'un jeton généré aléatoirement, qui est une clé universelle.
- Lors de l'utilisation de la clé/du jeton d'API universel, les utilisateurs peuvent ne pas disposer des autorisations nécessaires pour accéder à certaines API REST de WordPress, notamment celles utilisant les méthodes de requête POST, PUT ou DELETE. Ces API permettent d'effectuer des actions telles que la création d'utilisateurs, d'articles, de pages, etc., qui requièrent des autorisations ou des rôles spécifiques. Cette limitation est due au fait que la clé universelle est générée aléatoirement et ne contient aucune information permettant d'identifier l'utilisateur.
- La fonctionnalité de clé/jeton API basé sur l'utilisateur permet aux utilisateurs d'accéder aux API REST de WordPress via des méthodes de requête telles que POST, PUT et DELETE, qui requièrent des identifiants ou des rôles spécifiques pour fonctionner. Lorsqu'une requête API REST est exécutée pour WordPress à l'aide de cette clé, le système récupère le rôle de l'utilisateur et n'autorise l'accès que si celui-ci possède les permissions requises.
- Par Exemple: Seuls les utilisateurs ayant les rôles d'administrateur et d'éditeur sont autorisés à créer/modifier/supprimer une publication.
- Ainsi, si une requête est adressée à 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 requête 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, seul celui-ci a accès à cette API et peut effectuer des opérations (créer/mettre à jour/supprimer) via l'appel 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 requête API de la même manière que la clé universelle est utilisée pour effectuer la requête API.
Comment utiliser cette fonctionnalité :
Félicitations ! Vous avez configuré avec succès l’authentification par clé API REST pour 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 recontacterons prochainement.
Quelque chose s'est mal passé. Veuillez soumettre à nouveau votre requête

Besoin d'aide?
Envoyez-nous un e-mail à apisupport@xecurify.com pour obtenir rapidement des conseils (par e-mail ou en réunion) sur vos besoins et notre équipe vous aidera à sélectionner la solution/le forfait le mieux adapté à vos exigences.
