Résultats de recherche :

×

S'inscrire Contactez-Nous

Méthode d'authentification par clé API REST WordPress | API REST sécurisée

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 Plus   

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


Méthode de clé d'authentification de l'API REST WordPress

    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.





    Méthode de clé d'authentification de l'API REST WordPress
  • 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'
    
  • L'en-tête est expliqué ci-dessous.
  •    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.

  • Jetez un coup d'œil au documentation développeur pour plus de détails.
  • Jetez un coup d'œil au Réponse d'erreur pour l'authentification par clé API.

 
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"))   

    Suivez les étapes ci-dessous pour effectuer une requête API REST à l'aide de Postman :

  • 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.
  • WordPress REST API Méthode de clé d'authentification postman importer le fichier JSON
  • 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 :
  • WordPress REST API Méthode de clé d'authentification postman remplacer l'URL de base

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.
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
  • 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é.
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress

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.
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
  • 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.
  • Comment utiliser cette fonctionnalité :

  • Sélectionnez l'utilisateur dans la liste déroulante et cliquez sur le Créer une clé API .
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
  • Une pop-up apparaîtra à l'écran, il vous suffit de cliquer sur le OK bouton pour copier le jeton.
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
  • 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.

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




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

API REST WordPress avec authentification par clé API

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.


ADFS_sso ×
Bonjour!

Besoin d'aide? Nous sommes ici !

soutenez