Résultats de recherche :

×

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


L'authentification de base de l'API WordPress REST vous permet de vérifier l'accès aux API WordPress REST en validant un jeton API généré à partir du nom d'utilisateur, du mot de passe ou des informations d'identification du client.

Chaque fois qu'une demande est faite pour accéder à un point de terminaison de l'API REST WordPress, elle subit une authentification par rapport au jeton associé. Par la suite, l'accès aux ressources pour cette requête API spécifique est déterminé sur la base de la validation réussie de ce jeton API. Pour maintenir la sécurité, le jeton d'accès est crypté pour éviter toute violation de sécurité/données.


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é, cliquer sur Activer.


Cas d'utilisation : Protéger/sécuriser l'accès aux points de terminaison de l'API REST WordPress à l'aide de l'authentification de base

    1. Basé sur les informations d'identification de l'utilisateur :

    Supposons que vous disposiez d'une application Android/iOS et que vous ayez donné à vos utilisateurs la possibilité de publier leurs flux personnels ou leurs blogs sur l'application mobile.

    Dans ce cas, les requêtes sur votre application mobile doivent être authentifiées.

    L’API REST d’authentification de base WordPress avec nom d’utilisateur et mot de passe est la meilleure méthode d’authentification dans ce cas. Il sera utile d'effectuer des opérations WordPress via des API REST qui impliquent des autorisations ou des capacités utilisateur.

    La session utilisateur sera créée et, sur la base de ses capacités WordPress, il sera autorisé à accéder au contenu de l'API REST ou à effectuer les opérations souhaitées.


      Méthode d'authentification de base de l'API REST WordPress utilisant les informations d'identification de l'utilisateur

    2. Basé sur les informations d'identification du client :

    Imaginez que vous disposez d'une application Android ou iOS et que vous souhaitez interagir avec le contenu WordPress via ses points de terminaison de l'API REST. Cependant, vous êtes réticent à utiliser les informations d'identification de l'utilisateur WP pour empêcher toute exposition potentielle qui pourrait permettre à un intrus d'accéder sans autorisation au site WP.

    Dans un tel scénario, il est conseillé d'utiliser l'API WordPress Basic Authentication Rest, en utilisant un identifiant client et un secret client pour protéger vos informations d'identification utilisateur WP.

    Avec cette méthode, il vous suffit d'inclure l'ID client et le secret client fournis par le plugin dans chaque requête. Par conséquent, la sécurité reste sans compromis, car l'ID client et le secret sont transmis dans un format crypté dans l'en-tête Basic Authorization de chaque demande d'API. Ces informations d'identification sont ensuite validées et, une fois la validation réussie, WP API Basic Auth accorde l'accès aux API demandées.


      Méthode d'authentification de base de l'API REST WordPress utilisant les informations d'identification du client

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

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


img Authentification de base de l'API REST à l'aide du nom d'utilisateur et du mot de passe :

  • Dans le plugin, allez dans le Configurer les méthodes onglet dans la section de gauche.
  • Cliquez sur L'authentification de base comme méthode d'authentification API.
  • Méthode d'authentification de base de l'API REST WordPress utilisant le nom d'utilisateur et le mot de passe
  • Sélectionnez Nom d'utilisateur et mot de passe avec encodage Base64 et cliquez sur Suivant dans le coin supérieur droit.
  • Méthode d'authentification de base de l'API REST WordPress utilisant le nom d'utilisateur et le mot de passe
  • Afin de tester la fonctionnalité, remplissez les champs nom d'utilisateur et mot de passe pour un utilisateur existant.
  • Méthode d'authentification de base de l'API REST WordPress utilisant le nom d'utilisateur et le mot de passe
  • Vous pouvez modifier le point de terminaison de l'API REST pour récupérer les détails de ce point de terminaison. Exemple : le point de terminaison /pages a été sélectionné ici :
  • Cliquez sur le Configuration du test et vérifiez le résultat affiché à l'écran.
  • Cliquez Finition .
  • Méthode d'authentification de base de l'API REST WordPress utilisant le nom d'utilisateur et le mot de passe
  • Après avoir enregistré la configuration d'authentification de base de l'API REST avec nom d'utilisateur et mot de passe, pour accéder aux API REST WordPress, vous devez envoyer une demande d'API REST avec votre clé d'autorisation respective. Vous devez utiliser le format de demande indiqué ci-dessous.
  •    Request: GET https://<domain-name>/wp-json/wp/v2/posts
       Header: Authorization: Basic base64encoded <username:password>
    Sample Request Format- Example => username : testuser and password : password@123

    
         Sample curl Request Format-
         curl -H "Authorization:Basic base64encoded <username:password>"
         -X POST http://<wp_base_url>/wp-json/wp/v2/posts -d "title=sample post&status=publish" 
     
  • La fonction PHP base64_encode(string) pour l'encodage base64 peut être utilisée comme suit :
  • 
    base64_encode(‘testuser:password@123’) will results into ‘eGw2UllOdFN6WmxKOlNMRWcwS1ZYdFVrbm5XbVV2cG9RV FNLZw==’ as output.
    Sample request: GET https://<domain-name>/wp-json/wp/v2/posts Header: Authorization : Basic eGw2UllOdFN6WmxKOlNMRWcwS1ZYdFVrbm5XbVV2cG9RVFNLZw==
  • Jetez un coup d'œil au Réponse d'erreur pour l'authentification de base à l'aide du nom d'utilisateur et du mot de passe.

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.POST);
	request.AlwaysMultipartFormData = true;
	request.AddParameter("title", "Sample Post");
	request.AddParameter("status", "publish");
	IRestResponse response = client.Execute(request);
	Console.WriteLine(response.Content);
 
    OkHttpClient client  = new OkHttpClient().newBuilder().build();
    MediaType mediaType = MediaType.parse("text/plain");
    RequestBody body  = new MultipartBody.Builder().setType(MultipartBody.FORM)
    .addFormDataPart("title","Sample Post")
    .addFormDataPart("status", "publish") 
    .build();
    Request request  = new Request.Builder()
    .url("http://<wp_base_url>/wp-json/wp/v2/posts ")
    .method("POST", body)
     .build();
    Response responseclient.newCall(request).execute();
            
 
    var form = new FormData();
    form.append("title","Sample Post");
    form.append("status", "publish"); 

    var settings  = {
        "url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
        "method": "POST",
        "timeout": 0,
        "processData": false,
        "mimeType": "multipart/form-data",
        "contentType": false,
        "data": form
      };
      
      $.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 => 'POST',
            CURLOPT_POSTFIELDS => array('title' => 'Sample Post','status' => 'publish'),
            ));
          
    $response = curl_exec($curl);
    curl_close($curl);    
    echo $response;
            
 
    import http.client
    import mimetypes
    from codecs import encode

    conn   = http.client.HTTPSConnection("<wp_base_url>")
    dataList= []
    boundary = 'wL36Yn8afVp8Ag7AmP8qZ0SA4n1v9T'
    dataList.append(encode('--' + boundary))
    dataList.append(encode('Content-Disposition: form-data; name=title;')) 

    dataList.append(encode('Content-Type: {}'.format('text/plain')))    
    dataList.append(encode(''))    

    dataList.append(encode("Sample Post"))
    dataList.append(encode('--' + boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=status;'))    

    dataList.append('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))    

    dataList.append(encode("publish")) 
    dataList.append(encode('--'+boundary+'--'))    
    dataList.append(encode(''))    
    body  = b'\r\n'.join(dataList)    
    payload= body
    headers = {
        'Content-type': 'multipart/form-data; boundary={}'.format(boundary) 
     }
    conn.request("POST", "/wp-json/wp/v2/posts ", payload, headers)
    res= conn.getresponse()    
    data = res.read()    
    print (data.decode("utf-8"))   
 

img É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.
  • Implémentation du postier de la méthode d'authentification de base de l'API REST WordPress
  • Maintenant, survolez la carte Basic Authentication Postman Samples.
    • a) Pour le nom d'utilisateur et le mot de passe

        API REST WordPress Méthode d'authentification de base Fichier JSON postman pour le nom d'utilisateur : mot de passe
      • Importez le fichier téléchargé Fichier JSON dans l'application Postman comme indiqué ci-dessous.
      • WordPress REST API Méthode d'authentification de base postman importer un fichier JSON
      • Une fois que vous avez importé le fichier json, cliquez sur la requête API REST sous les collections, comme indiqué dans la dernière figure. Remplace le avec votre domaine Wordpress dans le http://<wp_base_url>/wp-json/wp/v2/posts et remplacer le codé en base64 dans l'en-tête avec la valeur codée de base.
        • Mise en situation :
          Pour le nom d'utilisateur : testuser et le mot de passe : password@123, la valeur codée en base64 sera "dGVzdHVzZXI6cGFzc3dvcmRAMTIz".

      WordPress REST API Méthode de clé d'authentification postman remplacer l'URL de base

      b) Pour l'ID client et le secret client

      • WordPress REST API Méthode d'authentification de base Fichier JSON postman pour l'identifiant client et le secret client
      • Importez le fichier téléchargé Fichier JSON dans l'application Postman comme indiqué ci-dessous.
      • WordPress REST API Méthode d'authentification de base postman importer un fichier JSON
      • Une fois que vous avez importé le fichier json, cliquez sur la requête API REST sous les 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 remplacer le codé en base64 dans l'en-tête avec la valeur codée de base.
      • WordPress REST API Méthode d'authentification de base postman remplacer l'URL de base

img Fonction description

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

    Cette fonctionnalité vous permet de restreindre l'accès à l'API REST en fonction des rôles des utilisateurs. Vous avez la possibilité de spécifier les rôles autorisés à accéder à la ressource demandée via les API REST. Par conséquent, lorsqu'un utilisateur fait une requête API REST, son rôle est vérifié et l'accès à la ressource est accordé exclusivement si son rôle est inclus dans la liste blanche.


    Comment le configurer ?

    • Tout d'abord, allez sur le plugin 'Réglages avancés' languette.
    • Ensuite, dans le Restriction basée sur le rôle section, tous les rôles par défaut seront 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 l'image 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 sélectionner un en-tête personnalisé au lieu de celui par défaut 'Autorisation' entête. Cela améliore la sécurité en vous permettant de nommer l'en-tête selon vos préférences personnalisées. Par conséquent, si quelqu'un tente de faire une requête API REST avec un en-tête nommé 'Autorisation,' ils seront autorisés à accéder aux API.


    Comment le configurer ?

    • Tout d'abord, allez sur le plugin 'Réglages avancés' languette.
    • 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. Excluez les API REST :

    Cette fonctionnalité vous permet de désigner certaines API REST comme sur liste blanche, ce qui permet d'y accéder directement sans avoir besoin d'authentification. Par conséquent, toutes ces API REST sur liste blanche deviennent accessibles au public.


    Comment le configurer ?

    • Tout d'abord, allez sur le plugin 'Réglages avancés' languette.
    • Puis dans le '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. Activez le cryptage avancé pour les jetons à l'aide de HMAC :

    Cette fonctionnalité est proposée dans la méthode d'authentification de base, où le jeton est généralement chiffré à l'aide du codage Base64 par défaut. Cependant, avec l’option avancée, le token peut être crypté à l’aide de la méthode de cryptage hautement sécurisée HMAC, qui garantit un très haut niveau de sécurité.


    Méthode d'authentification de base de l'API REST WordPress utilisant les informations d'identification de l'utilisateur

img Ressources additionnelles

Besoin d'aide?

Envoyez-nous un e-mail oauthsupport@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