Résultats de recherche :

×

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 WP REST. Chaque fois qu'une requête est lancée pour accéder aux points de terminaison de l'API WP REST, une authentification est nécessaire à l'aide de la clé (jeton Bearer). L'accès aux ressources pour le point de terminaison de l'API REST WordPress demandé est accordé en fonction de la validation de la clé API (jeton Bearer).

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 de téléphonie mobile et des ordinateurs de bureau.

La méthode d’authentification par clé API WordPress est un moyen essentiel pour assurer la sécurité de votre API WordPress REST. 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 générées précédemment. La clé nouvellement créée sera ensuite utilisée pour l'authentification par clé API WP. 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, entraînant potentiellement des violations de données.

Ce guide vous guidera à travers un processus détaillé, étape par étape, pour installation et configuration de l'authentification API REST WordPress pour améliorer la sécurité de votre API REST.




Authentification de l'API Rest WordPress
Par miniOrange

Le plugin d’authentification WordPress REST API fournit la sécurité contre tout accès non autorisé à vos API WordPress REST.

En savoir plus

Étapes de téléchargement et d'installation

  • Connectez-vous à votre compte WordPress en tant qu'administrateur.
  • Aller sur WordPress Tableau de bord -> Plugins et cliquez sur Ajouter un nouveau véhicule .
  • Rechercher un WordPress Authentification API REST plugin et cliquez sur Installer maintenant.
  • Une fois installé cliquez sur Activer.

idp_sso_image1 Cas d'utilisation: Protéger/Sécuriser l'accès aux points de terminaison de l'API REST WordPress via une clé/un jeton de porteur


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

    1.  L'authentification par clé API peut servir de protection pour vos points de terminaison d'API REST WordPress, tels que les publications, les pages ou toute autre API REST de WordPress, les protégeant contre tout accès non autorisé et éliminant le besoin de partager les informations de connexion WP ou l'ID client d'un utilisateur. secret pour l'authentification. Cette approche du générateur de clé API WordPress crée une clé d'authentification unique, que vous pouvez utiliser pour authentifier diverses API WordPress REST sur votre site Web.

    L’utilisation de l’authentification par clé API REST de WordPress représente l’une des approches les plus simples et les plus largement adoptées pour renforcer votre API WP REST avec l’authentification par clé API. Cette approche améliore 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 vous ayez publié tous vos blogs sur WordPress. Cependant, vous souhaitez récupérer les articles/blogs des API REST WordPress tout en les gardant inaccessibles au public. Dans de tels cas, il est conseillé d'implémenter l'authentification par clé API REST WordPress pour protéger vos requêtes GET, garantissant ainsi la sécurité de vos points de terminaison.


idp_sso_image1  Le plugin fournit deux types de clés API/jetons de sécurité qui peuvent être utilisés pour authentifier les API REST WordPress :


    I. Clé API universelle - La clé API universelle sera la plus adaptée pour authentifier les API WP REST, qui impliquent la méthode HTTP GET et ne nécessitent pas de capacités utilisateur WordPress.


    Veuillez noter : 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 d'utilisateur. "Exemple - Si vous souhaitez simplement utiliser les API GET pour récupérer des publications, des commentaires, etc. WordPress généraux.


    II. Clé API spécifique à l'utilisateur - L'API basée sur l'utilisateur sera la plus appropriée pour authentifier les API WP 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 les capacités de l'utilisateur.


    Exemple - Si vous souhaitez effectuer des opérations telles que récupérer des publications WordPress en fonction des capacités des utilisateurs (leurs rôles WP), des données utilisateur, ou si vous souhaitez créer de nouveaux utilisateurs, de nouvelles publications, etc.


idp_sso_image1 Lisez les cas d'utilisation pour les méthodes d'authentification de l'API Rest suivantes :

1. Configurer le plugin d'authentification de l'API WordPress [Prime]


    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 que vous avez généré la clé API (jeton), vous pouvez l'utiliser pour sécuriser vos points de terminaison de l'API REST WordPress. (Vous pouvez toujours générer la nouvelle clé API, et toutes les clés générées existantes expireront automatiquement).
  • Vous devez transmettre la clé API à l'en-tête d'autorisation en tant que jeton de 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
      
  • L'en-tête est expliqué ci-dessous.
  •    I. Authorization : Le HTTP Autorisation l'en-tête de la demande comprend généralement les informations d'identification de l'agent utilisateur ou le type et la valeur du jeton, servant de moyen d'authentifier l'agent utilisateur auprès d'un serveur. Cela se produit généralement suite à une tentative d'authentification infructueuse, où le serveur répond avec un statut de 401 non autorisé.

       II. Bearer <token-value>: La Porteur est créé par le serveur d'authentification. Lorsqu'une application client demande au serveur d'authentification, le serveur authentifie ce jeton et donne une réponse à l'application client en conséquence.

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

img 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>");    
  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>")    
   .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 <token-value >"
        },        
    };
    
    $.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>'
        ),
      
          ));          
        
  $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>'
  }
  conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
  res= conn.getresponse()    
  data = res.read()    
  print (data.decode("utf-8"))   
  

idp_sso_image1 Échantillons de facteur :

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

idp_sso_image1 Fonction description

    1. Restrictions de l'API REST basées sur les rôles :

    Cette fonctionnalité permet de restreindre l'accès à l'API REST en fonction des rôles des utilisateurs. Vous avez la possibilité de spécifier quels rôles doivent être autorisés à accéder à la ressource demandée via les API REST. Par conséquent, 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 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.
    • Dans la section Restriction basée sur les rôles, initialement, tous les rôles ont accès par défaut aux API. Cependant, vous pouvez limiter l'accès de manière sélective en cochant la case en regard des rôles que vous souhaitez 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 du rôle d'abonné est activée. Ainsi, chaque fois qu'une requête 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.

    Remarque: 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é offre la possibilité de choisir un en-tête personnalisé plutôt que l'en-tête « Autorisation » par défaut. Cela améliorera la sécurité en introduisant un en-tête nommé personnalisé. Si une personne tente d'envoyer une requête API REST avec un en-tête « Autorisation », 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 d'y accéder directement sans avoir besoin d'authentification. Par conséquent, 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 dans le format prescrit qui doit être ajouté à la liste blanche pour un accès public.
    • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
    • Mise en situation : 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 sur la base d'informations spécifiques à l'utilisateur plutôt que sur un jeton généré aléatoirement qui est une clé universelle.
    • Lors de l’utilisation de la clé/du jeton API universel, les utilisateurs peuvent ne pas disposer des autorisations nécessaires pour accéder à des API REST WordPress spécifiques 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 d'utilisateur spécifiques pour fonctionner. La limitation vient du fait que la clé universelle est générée de manière aléatoire et n’inclut pas de détails spécifiques à l’utilisateur.
    • La fonctionnalité de clé/jeton API basée sur l'utilisateur permet aux utilisateurs d'utiliser les API REST WordPress avec des méthodes de requête telles que POST, PUT et DELETE, qui exigent des informations d'identification utilisateur ou des rôles spécifiques pour la fonctionnalité. Lorsqu'une requête API REST WordPress est exécutée à l'aide de 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 l'utilisateur possède les autorisations nécessaires.
    • Par exemple: Seuls les utilisateurs disposant des rôles d'administrateur et d'éditeur sont autorisés à 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 entraînera « Vous n'êtes pas autorisé à effectuer cette opération ».
    • Désormais, si une demande est faite 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
    • Désormais, ce jeton peut être utilisé avec la requête API, tout comme la clé universelle est utilisée pour effectuer la requête API.

    Toutes nos félicitations! Vous avez configuré avec succès l’authentification par clé de l’API REST WordPress à l’aide de ce guide. Désormais, vos points de terminaison de l’API WordPress REST sont sécurisés et vos données sont protégées contre tout accès non autorisé.

    img Ressources additionnelles

    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.

Bonjour!

Besoin d'aide? Nous sommes ici !

Support
Contacter l'assistance miniOrange
succès

Merci pour votre demande.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com