Résultats de recherche :

×

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


Cette méthode d'authentification des points de terminaison de l'API REST WordPress implique l'accès aux API REST sur validation basée sur le JWT (jeton Web JSON). Chaque fois qu'une demande d'accès au point de terminaison de l'API REST WordPress sera effectuée, l'authentification sera effectuée par rapport à ce jeton JWT, et sur la base de la vérification de ce jeton JWT, les ressources de cette requête API seront autorisées à accéder. Le jeton JWT est généré sur la base des informations d'identification de l'utilisateur WordPress et est hautement crypté, la sécurité n'est donc pas compromise.




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

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 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: Sécurisez/protégez ou authentification des points de terminaison de l'API REST WordPress à l'aide du JWT (JSON Web Token).

  • Supposons que vous disposiez d'une application mobile/Web et que vous souhaitiez autoriser l'accès aux points de terminaison de l'API REST WordPress en fonction des capacités de l'utilisateur, de sorte que seuls les utilisateurs dotés de cette capacité particulière doivent effectuer des opérations de création/mise à jour tandis que les utilisateurs ayant d'autres rôles ne peuvent que les visualiser. Ensuite, dans de tels cas, vous pouvez authentifier les points de terminaison de l'API REST à l'aide du JWT (JSON Web Tokens) obtenu conformément aux informations d'identification de l'utilisateur et l'authentification WordPress JWT vous permet de le faire de manière très sécurisée. Ainsi, effectuer la requête API REST avec ce JWT transmis dans l'en-tête Authorization permet d'accéder à la ressource/aux données ou fournit la capacité/l'autorisation d'effectuer une opération WordPress qui nécessite une capacité utilisateur particulière. L'API REST d'authentification JWT pour WordPress fournit le cryptage du jeton à l'aide de 2 méthodes : HSA ou RSA et est valable pour une durée limitée. La sécurité n'est donc pas une préoccupation.


    Le jeton JWT généré pour l'authentification JWT se compose d'informations utilisateur WordPress et, par conséquent, ce jeton peut être décodé à l'aide de la clé secrète/du certificat public valide sur une autre application pour y créer un utilisateur ou synchroniser les informations utilisateur mises à jour. Le jeton JWT est également un jeton basé sur le temps, ce qui signifie qu'il expire après une certaine période de temps qui peut être définie selon les exigences et donc après son expiration, les API ne seront pas autorisées à accéder et ni les informations utilisateur ne pourront être décodées, ce qui rend Authentification JWT pour l'API REST WordPress, une méthode d'authentification sécurisée.


  • Le flux d'authentification de l'API REST WordPress peut être réalisé à l'aide de la méthode JWT est expliqué ci-dessous :
  • Méthode d'authentification JWT de l'API REST WordPress utilisant jwt

      1. La requête API REST WordPress est effectuée avec tous les paramètres requis pour obtenir le token JWT. Le jeton JWT obtenu est fourni dans un format crypté à l'aide de l'algorithme HSA ou RSA, ce qui garantit une sécurité maximale.

      2. Ensuite, la demande réelle de l'API REST WordPress pour accéder à la ressource/aux données ou pour effectuer des opérations avec la base de données WordPress est effectuée avec le jeton JWT obtenu à la dernière étape et transmise dans l'en-tête d'autorisation avec les types de jetons comme Bearer et notre plugin le fera. validez ce jeton JWT et si la validation ou l'authentification réussit, le demandeur d'API recevra la ressource, sinon une réponse d'erreur sera renvoyée. Notre plugin agira donc à la fois en tant que fournisseur de jetons JWT et en tant que validateur de jetons JWT.


Cas d'utilisation associé :

  • Comment envoyer des requêtes authentifiées JWT aux points de terminaison de l'API WordPress REST ?
  • Authentification des API REST Woocommerce/WordPress à l'aide de JWT (JSON Web Token).

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


Configurer la méthode d'authentification JWT de l'API REST


  • Dans le plugin, allez dans le Configurer les méthodes onglet dans la section de gauche.
  • Cliquez sur Authentification JWT comme méthode d'authentification API.
  • Méthode d'authentification jwt de l'API REST WordPress
  • Sélectionnez le Type de génération de jeton . Par défaut, le HS256 l'algorithme et la clé secrète unique générée aléatoirement sont utilisés respectivement et cliquez sur Suivant dans le coin supérieur droit.
  • Afin de tester la fonctionnalité, remplissez le Nom d'utilisateur ainsi que Mot de Passe champs pour un utilisateur existant.
  • Méthode d'authentification jwt de l'API REST WordPress
  • Cliquez sur Récupérer le jeton . Un jeton JWT (jwt_token) sera affiché en réponse dont vous pourrez copier la valeur dans le presse-papiers pour effectuer une requête GET.
  • Collez le jeton JWT obtenu à l'étape 6.
  • Cliquez Configuration du test et la réponse sera affichée à l'écran.
  • Cliquez Finition .
  • Méthode d'authentification jwt de l'API REST WordPress

  • Ici, vous devrez effectuer deux appels API :

I : Obtenez le jeton JWT

  • Pour obtenir le jeton JWT, vous devez effectuer un appel d'API REST au point de terminaison du jeton comme ci-dessous :
  • Request:POST https://<domain-name>/wp-json/api/v1/token
    Body:username = <wordpress username>
    password = <wordpress password>
    
    Sample curl Request Format-
    curl -d "username=<wordpress_username>&password=<wordpress_password>"
    -X POST http://<wp_base_url>/wp-json/api/v1/token
    

    Ces points de terminaison d'API sont également appelés : authentification de l'utilisateur API ou Point de terminaison de l'API de connexion WordPress de telle sorte que si nous faisons une demande à ce point de terminaison avec les informations d'identification de l'utilisateur WordPress et si les informations d'identification sont valides, la réponse réussie renverra contenant le jeton JWT, sinon la réponse d'erreur sera affichée en conséquence.

  • Jetez un coup d'œil au Réponse d'erreur pour obtenir le jeton JWT.

II : Envoyer une demande d'API

  • Une fois que vous obtenez le jeton JWT, vous pouvez l'utiliser pour demander l'accès aux API REST de WordPress, comme indiqué ci-dessous :
  • Request: GET  https://<domain-name>/wp-json/wp/v2/posts
    Header: Authorization : Bearer <JWT token>
    
    Sample curl Request Format-
    curl -H "Authorization:Bearer <jwt_token >"
    -X GET http://<wp_base_url>/wp-json/wp/v2/posts
    
  • REMARQUE: Le jeton ci-dessus est valable 1 heure par défaut et peut également être personnalisé. Une fois le jeton expiré, il peut être généré à nouveau.
  • 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 créer une API avec le jeton JWT.

  • Toutes nos félicitations! Vous avez configuré avec succès la méthode d'authentification JWT pour les appels d'API REST à l'aide de la méthode d'authentification d'API REST miniOrange WordPress.

    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 < jwt_token >");    
    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 < jwt_token >")    
       .build();
      Response response= client.newCall(request).execute();
              
     
      var settings  = {
          "url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
          "method": "GET",
          "timeout": 0,
          "headers": {
              "Authorization": "Bearer < jwt_token >"
            },        
        };
        
        $.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%20',
              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 < jwt_token >'
              ),
              ));          
            
      $response = curl_exec($curl);
      curl_close($curl);    
      echo $response;
              
     
      import http.client
    
      conn = http.client.HTTPSConnection("<wp_base_url>")
      payload= "
      headers = {
          'Authorization': 'Bearer < jwt_token >'
      }
      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 :

    • Cliquez sur le Échantillons de facteur onglet dans le plugin.
    • WordPress REST API JWT Implémentation de la méthode d'authentification postman
    • A Fichier JSON sera automatiquement téléchargé.
    • API REST WordPress JWT Méthode d'authentification fichier JSON postman
    • Importez le fichier téléchargé Fichier JSON dans l'application Postman comme indiqué ci-dessous.
    • Requête API REST pour obtenir le jeton JWT
      • Une fois que vous avez importé le fichier json, cliquez sur la requête API REST sous le Collections comme le montre la dernière figure. Remplace le avec votre domaine Wordpress dans le http://<wp_base_url>/wp-json/wp/v2/posts et remplacer le avec le nom d'utilisateur WordPress et avec mot de passe WordPress dans les paramètres du corps.
      • WordPress REST JWT Méthode d'authentification postman remplacer l'URL de base
      • Exemple
      • WordPress REST JWT Méthode d'authentification postman remplacer exemple d'URL de base
      • REMARQUE: Copiez le jeton jwt obtenu à partir de la réponse. Il sera utilisé dans les requêtes API de ressources pour s'authentifier.
    • Demande d'API REST pour obtenir la ressource réelle
      • Une fois que vous avez importé le fichier json, cliquez sur la requête API REST sous le Collections comme le montre la dernière figure. Remplace le avec votre domaine Wordpress dans le http://<wp_base_url>/wp-json/wp/v2/posts et remplacer le avec le jeton jwt copié à partir de la réponse obtenue après la demande de jeton.
      • WordPress REST JWT Méthode d'authentification postman remplacer l'URL de base ressource réelle
      • Exemple
      • WordPress REST API JWT Méthode d'authentification postman remplacer l'URL ressource réelle

    idp_sso_image1 Description de fonctionnalité

      1. Restriction de l'API REST basée sur les rôles :

      Cette fonctionnalité permet de restreindre l'accès à l'API REST en fonction des rôles des utilisateurs. Vous pouvez ajouter sur liste blanche les rôles pour lesquels vous souhaitez autoriser l'accès à la ressource demandée pour les API REST. Ainsi, chaque fois qu'une requête API REST est effectuée par un utilisateur, son rôle sera récupéré et autorisé à accéder à la ressource uniquement si son rôle est sur 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 seront par défaut autorisés à accéder aux API. Vous pouvez cocher la case des rôles pour lesquels vous souhaitez restreindre l'accès.
      • 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 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 l'en-tête est 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é.
      • 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 mettre en liste blanche vos API REST afin qu'elles 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 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
      • 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. Expiration du jeton personnalisé

      Cette fonctionnalité est applicable 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 telle sorte que le jeton ne sera plus valide une fois le jeton expiré.


      Comment le configurer ?

      • Tout d’abord, allez dans l’onglet « Paramètres avancés » du plugin.
      • Ensuite, dans la section « Configuration d'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. Par conséquent, avec cette fonctionnalité, l’expiration peut être ajustée en conséquence selon les exigences.
      • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress

      Par conséquent, avec cette fonctionnalité d’expiration de jeton personnalisée, la sécurité est encore renforcée.

      5. Validation de signature pour les jetons basés sur JWT

      Cette fonctionnalité permet une signature sécurisée de la signature JWT pour le jeton JWT de sorte que votre jeton JWT soit beaucoup plus sécurisé et que la signature ne puisse être décodée qu'à l'aide du secret/certificat client. Cela signifie que votre signature est privée et ne peut être vue par les autres.

      Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress

      Nous prenons en charge 2 algorithmes de signature : HS256 et RS256. Ainsi, n'importe lequel des algorithmes de signature peut être choisi dans la liste déroulante, comme indiqué dans l'image ci-dessus.

      En outre, vous devez ajouter votre secret client ou votre certificat à partir duquel est utilisé pour signer la signature du JWT.

      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