Résultats de recherche :

×

Méthode d'authentification OAuth 2.0 de l'API REST WordPress


OAuth 2.0 est la méthode la plus utilisée pour authentifier l’accès aux API. OAuth 2.0 permet l'autorisation sans qu'il soit nécessaire de fournir l'adresse e-mail ou le mot de passe de l'utilisateur à une application externe. Cette méthode d'authentification OAuth 2.0 de l'API REST WordPress implique l'utilisation du flux de protocole OAuth 2.0 pour obtenir le jeton d'accès de sécurité ou le jeton d'identification (jeton JWT) et ce jeton sera utilisé pour authentifier les points de terminaison de l'API REST WordPress. 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 d'accès/jeton d'identification (jeton JWT), et sur la base de la vérification de ce jeton API Bearer, les ressources de cette API la demande sera autorisée à accéder.

Flux de travail OAuth 2.0 de l'API REST WordPress

Le jeton fourni à l'aide de la méthode d'authentification OAuth 2.0 est hautement crypté et sécurisé, la sécurité n'est donc pas compromise. Il s’agit de la méthode la plus sécurisée pour authentifier/protéger les points de terminaison de l’API WordPress REST. Cette méthode est quelque peu similaire à la méthode d'authentification JWT mais beaucoup plus sécurisée en raison des divers avantages du protocole OAuth 2.0.


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

idp_sso_image1 Pré-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 véhicule .
  • Rechercher un WordPress Authentification API REST plugin et cliquez sur Installer maintenant.
  • Une fois installé cliquez sur Activer.

idp_sso_image1 UseCase : Sécuriser l'API REST avec la méthode d'authentification OAuth 2.0

    1. Octroi de mot de passe :

    Cas d'utilisation : Enregistrez un utilisateur WordPress ou authentifiez/connectez les utilisateurs sur des plates-formes externes en fonction des informations d'identification WordPress via l'API REST de WordPress.

      Supposons que vous ayez un formulaire de connexion dans votre application et que vous souhaitiez authentifier l'utilisateur sur la base de ses informations de connexion WordPress, alors l'authentification OAuth 2.0 dans la méthode API REST vous aidera à y parvenir. Le plugin fournit une API de connexion WordPress. Vous pouvez facilement transmettre les informations d'identification WordPress de cet utilisateur à cette API et, sur la base de la validation, vous recevrez l'authentification et la réponse.
      En outre, la méthode d'implémentation de l'authentification OAuth 2.0 dans l'API REST peut également être utilisée pour enregistrer des utilisateurs dans WordPress à l'aide des informations d'identification d'administrateur de l'utilisateur WordPress. À l'aide du point de terminaison du jeton OAuth 2.0 du plugin, vous pouvez transmettre les informations d'identification de l'utilisateur WordPress qui ont des capacités d'administrateur telles que le jeton généré aura des capacités d'administrateur pouvant être utilisées pour effectuer des opérations telles que l'enregistrement des utilisateurs pour lesquelles des privilèges administratifs sont requis. Une fois que vous avez le jeton, vous pouvez utiliser ce jeton avec l'API WordPress '/users' pour enregistrer des utilisateurs dans WordPress via une requête API REST.

    2. Informations d'identification du client :

    Cas d'utilisation : authentifiez/protégez les points de terminaison de l'API REST WordPress en toute sécurité ou enregistrez les utilisateurs dans WordPress sans utiliser les informations d'identification de l'utilisateur administrateur.

      Si vous souhaitez accéder à l'API REST de WordPress sans transmettre les informations d'identification de l'utilisateur WordPress ou si vous souhaitez enregistrer les utilisateurs dans WordPress en toute sécurité sans avoir besoin de transmettre les informations d'identification de l'utilisateur administrateur de WordPress et de transmettre à la place les informations d'identification du client fournies par le plugin, cette méthode est la solution parfaite afin qu'il n'y ait aucune chance que les informations d'identification des utilisateurs soient compromises.
      Le plugin agit à la fois comme un fournisseur d'identité (serveur) OAuth 2.0 qui fournit le jeton et l'authentificateur des API REST pour l'authentification de ces points de terminaison de l'API REST WordPress sur la base du jeton. Par conséquent, il offre une sécurité maximale pour obtenir le jeton et ce jeton peut être utilisé pour authentifier la requête API REST.

  • Le flux d'implémentation de la méthode d'authentification OAuth 2.0 dans les méthodes de l'API REST est expliqué ci-dessous :
    • 1. La requête API REST sera effectuée avec les paramètres appropriés pour obtenir le token de notre plugin. Notre plugin agira en tant que fournisseur d'identité OAuth 2.0 et fournira le jeton d'accès.

      2. La demande réelle de l'API REST pour accéder à la ressource sera effectuée avec le jeton d'accès reçu lors de la dernière étape passée dans l'en-tête Autorisation avec le type de jeton comme Bearer. Le plugin agit désormais comme authentificateur pour authentifier l'API sur la base de la validité du jeton. Si le jeton est validé avec succès, le demandeur de l'API sera autorisé à accéder à la ressource. Sinon, en cas d'échec de la validation, la réponse d'erreur sera renvoyée.

idp_sso_image1 Cas d'utilisation associé :

  • Comment se connecter ou enregistrer des utilisateurs à l’aide de l’API REST de WordPress ?
  • Comment authentifier les utilisateurs WordPress à l’aide de l’API ?

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

idp_sso_image1 API REST WordPress OAuth 2.0 utilisant l'octroi de mot de passe :

  • Dans le plugin, allez dans Configurer Authentification API onglet et cliquez sur Authentification OAuth 2.0 comme méthode d'authentification API.
  • Sélectionnez le Subvention OAuth 2.0 Tapez comme octroi de mot de passe.
  • Vous pouvez désormais opter pour n’importe quel type de jeton comme jeton d’accès ou jeton JWT.
    Le jeton d'accès est une chaîne aléatoire associée à l'utilisateur pour lequel il est généré tandis que le jeton JWT ou le jeton d'identification est formé selon la norme JWT qui se compose des détails de l'utilisateur codés pour lesquels le jeton est généré. Ce jeton peut être décodé à l'aide de sa clé et les détails de l'utilisateur peuvent être analysés. Par conséquent, ce jeton est recommandé dans les cas où les détails du profil WP de l'utilisateur doivent être récupérés ultérieurement.
  • Méthode d'authentification OAuth 2.0 de l'API REST WordPress
  • Maintenant, cliquez sur Enregistrer la configuration pour enregistrer les paramètres d'authentification OAuth 2.0 et activer cette méthode d'authentification pour sécuriser les points de terminaison de l'API REST WordPress.
  • Une fois que vous cliquez sur le Enregistrer la configuration, vous obtiendrez l'ID client, le secret client et le point de terminaison du jeton (le point de terminaison auquel un appel API doit être effectué pour recevoir le jeton de sécurité).
  • La partie configuration du plugin a maintenant été effectuée avec succès. Vous trouverez ci-dessous la partie dans laquelle le jeton d'accès de sécurité/JWT réel sera obtenu et utilisé davantage pour accéder aux API REST de WordPress.

  • Maintenant, vous devrez passer deux appels :
  • I : Récupérer le jeton

    • Pour obtenir le jeton d'accès/jeton JWT, vous devez effectuer un appel API au point de terminaison du jeton OAuth 2.0 fourni par notre plugin illustré ci-dessous.
    • 
      Request: POST https://<domain-name>/wp-json/api/v1/token
      Body:
      grant_type =<password>
      username =<wordpress username>
      password = <wordpress password>
      client_id =<client id>
      
      Sample curl Request Format-
      curl -d "grant_type=password&username=<wordpress_username>&password=<wordpress_password>&client_id=<client_id>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      
    • Utilisation du jeton d'actualisation
    • 
      Request: POST  https://<domain-name>/wp-json/api/v1/token
      Body:
      grant_type = <refresh_token>
      refresh_token =  <Refresh Token>
      
      Sample curl Request Format-
      curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      

    II : Envoyer une demande d'API REST WordPress réelle

    • Une fois que vous avez obtenu le access_token / id_token (jeton JWT) à l'aide du flux d'attribution de mot de passe OAuth 2.0, vous pouvez l'utiliser pour demander l'accès aux points de terminaison de l'API REST WordPress, comme indiqué ci-dessous.
    • 
      Request: GET https://<domain-name>/wp-json/wp/v2/posts
      Header: Authorization :Bearer <access_token /id_token>
      
    • REMARQUE: Le jeton ci-dessus est valable 1 heure par défaut. Le même jeton peut être utilisé plusieurs fois pour plusieurs requêtes API REST avant son heure d'expiration. Une fois le jeton expiré, un nouveau jeton doit être créé pour demander l’accès au point de terminaison de l’API REST WordPress.
  • Jetez un coup d'œil au Réponse d'erreur pour OAuth 2.0 à l'aide de l'octroi de mot de passe.

idp_sso_image1 API REST WordPress OAuth 2.0 utilisant l'octroi d'informations d'identification client :

  • Dans le plugin, allez dans Configurer Authentification API onglet et cliquez sur Authentification OAuth 2.0 comme méthode d'authentification API.
  • Sélectionnez maintenant le Subvention OAuth 2.0 Tapez comme octroi d'informations d'identification client.
  • Méthode d'authentification OAuth 2.0 de l'API REST WordPress utilisant jwt
  • Une fois que vous aurez cliqué sur la configuration de sauvegarde, vous obtiendrez le identité du client, Secret client ainsi que Point de terminaison du jeton.
  • Ici, vous devrez passer deux appels :
  • I : Récupérer le jeton

    • Après avoir enregistré la configuration ci-dessus, vous obtiendrez l'ID client, le client-secret et le point de terminaison du jeton.
    • obtenez le jeton, vous devez envoyer une demande de jeton comme indiqué ci-dessous
    • 
      Request: POST https://<domain-name>/wp-json/api/v1/token
      Body:
      grant_type = <client_credentials>
      client_id = <client id>
      client_secret = <client secret>
      
      Sample curl Request Format-
      curl -d "grant_type=client_credentials&client_id=<client_id>&client_secret=<client_secret>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      
    • Utilisation du jeton d'actualisation
    • 
      Request: POST https://<domain-name>/wp-json/api/v1/token
      Body:
      grant_type = <refresh_token>
      refresh_token = <Refresh Token>
      
      Sample curl Request Format-
      curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      

    II : Envoyer une demande d'API

    • Une fois que vous avez obtenu les informations d'identification du client access_token / id_token by OAuth 2.0, vous pouvez les utiliser pour demander l'accès au point de terminaison de l'API REST WordPress, comme indiqué ci-dessous.
    • 
      Request: GET https://<domain-name>/wp-json/wp/v2/posts
      Header: Authorization : Bearer <access_token /id_token>
    • REMARQUE: Le jeton ci-dessus est valable 1 heure par défaut. Le même jeton peut être utilisé plusieurs fois pour plusieurs requêtes API REST avant son heure d'expiration. Une fois le jeton expiré, un nouveau jeton doit être créé pour demander l’accès au point de terminaison de l’API REST WordPress.
  • Jetez un coup d'œil au Réponse d'erreur pour OAuth 2.0 à l'aide de l'octroi d'informations d'identification client.
  • Jetez un coup d'œil au documentation développeur pour plus de détails.

Fonctionnalités de sécurité supplémentaires

Cette méthode vous offre des installations de sécurité supplémentaires qui vous permettent d'avoir plus de contrôle sur les jetons et donc sur la sécurité de votre site Web -

1. Actualiser le jeton -

Jeton d'actualisation d'authentification OAuth 2.0 de l'API REST WordPress
Vous pouvez activer cette option si vous souhaitez recevoir une chaîne qui est également un jeton d'actualisation ainsi qu'un jeton d'accès ou un jeton JWT dans la demande de point de terminaison du jeton. Cela permettra à l'utilisateur d'accéder aux mêmes ressources que celles qui lui ont été accordées précédemment. Une fois le nouveau jeton créé, l'utilisateur ne devrait pas avoir accès au-delà de l'autorisation d'origine. Les jetons d'actualisation permettent aux serveurs d'autorisation d'utiliser de courtes périodes (durée de vie) pour les jetons d'accès sans avoir besoin d'impliquer l'utilisateur lors de l'expiration du jeton. Avec ce jeton, vous pouvez régénérer le jeton d'accès/jeton JWT car ils sont censés expirer sous peu pour augmenter la sécurité.

2. Révoquer le jeton -

Jeton de révocation d'authentification OAuth 2.0 de l'API REST WordPress
L'activation de cette option vous permet de révoquer le jeton d'accès/JWT existant pour le rendre invalide et, par conséquent, le jeton particulier ne peut pas être utilisé pour authentifier les API WP REST. L'API RESTful valide d'abord les informations d'identification de l'application et si le jeton a été émis à l'application effectuant la demande de révocation. Si la validation échoue, la demande particulière est refusée et une erreur s'affiche dans l'application. L'API invalide le jeton et celui-ci ne peut plus être utilisé après sa révocation. Chaque demande de révocation invalide les jetons émis pour le même type d'octroi d'autorisation.

idp_sso_image1 Exemples de code dans les langages de programmation



 
    var client = new RestClient("http://<wp_base_url>/wp-json/api/v1/token ");
	client.Timeout = -1;
	var request = new RestRequest(Method.POST);
	request.AlwaysMultipartFormDatatrue;    
    request.AddParameter("grant_type", "client_credentials");
    request.AddParameter("client_id", "<client_id>");     
    request.AddParameter("client_secret", "<client_secret>");
	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("grant_type", "client_credentials");
    .addFormDataPart("client_id", "<client_id>");     
    .addFormDataPart("client_secret", "<client_secret>");
     .build();
    Request request  = new Request.Builder()  
    .url("http://<wp_base_url>/wp-json/api/v1/token ")
    .method("POST", null)
     .build();
    Response responseclient.newCall(request).execute();
            
 
    var form = new FormData();
    form.append("grant_type", "client_credentials");
    form.append("client_id", "<client_id>");     
    form.append("client_secret", "<client_secret>");

    var settings  = {
        "url": "http://<wp_base_url>/wp-json/api/v1/token ",
        "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/api/v1/token',
            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('grant_type' => 'client_credentials','client_id' => '<client_id>','client_secret' => '<client_secret>'),
  
            ));          
          
    $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=grant_type;'))    
    
    dataList.append(encode('Content-Type: {}'.format('text/plain')))    
    dataList.append(encode(''))    
    
    dataList.append(encode("client_credentials"))
    dataList.append(encode('--' + boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=client_id;'))    
    
    dataList.append('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))    
    
    dataList.append(encode("<client_id>"))    
    dataList.append(encode('--'+ boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=client_secret;'))
    
    dataList.append(encode('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))
    
    
    dataList.append(encode("<client_secret<"))    
    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/api/v1/token ", payload, headers)
    res= conn.getresponse()    
    data = res.read()    
    print (data.decode("utf-8"))   
 


 
    var client = new RestClient("http://<wp_base_url>/wp-json/api/v1/token ");
	client.Timeout = -1;
	var request = new RestRequest(Method.POST);
	request.AlwaysMultipartFormDatatrue;    
    request.AddParameter("grant_type", "refresh_token");
    request.AddParameter("client_id", "<client_id>");     
    request.AddParameter("client_secret", "<client_secret>");
    request.AddParameter("refresh_token", "<refresh_token>");
	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("grant_type", "refresh_token");
    .addFormDataPart("client_id", "<client_id>");     
    .addFormDataPart("client_secret", "<client_secret>");
    .addFormDataPart("refresh_token", "<refresh_token>");
     .build();
    Request request  = new Request.Builder()  
    .url("http://<wp_base_url>/wp-json/api/v1/token ")
    .method("POST", null)
     .build();
    Response responseclient.newCall(request).execute();
            
 
    var form = new FormData();
    form.append("grant_type", "refresh_token");
    form.append("client_id", "<client_id>");     
    form.append("client_secret", "<client_secret>");
    form.append("refresh_token", "<refresh_token>");
    
    var settings  = {
        "url": "http://<wp_base_url>/wp-json/api/v1/token ",
        "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/api/v1/token',
            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('grant_type' => 'refresh_token','client_id' => '<client_id>','client_secret' => '<client_secret>','refresh_token' => '<refresh_token>'),

            ));          
          
    $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=grant_type;'))    
    
    dataList.append(encode('Content-Type: {}'.format('text/plain')))    
    dataList.append(encode(''))    
    
    dataList.append(encode("refresh_token"))
    dataList.append(encode('--' + boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=client_id;'))    
    
    dataList.append('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))    
    
    dataList.append(encode("<client_id>"))    
    dataList.append(encode('--'+ boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=client_secret;'))
    
    dataList.append(encode('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))
    
    dataList.append(encode("<client_id>"))    
    dataList.append(encode('--'+ boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=refresh_token;'))    

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

    dataList.append(encode("<refresh_token<")) 
    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/api/v1/token ", payload, headers)
    res= conn.getresponse()    
    data = res.read()    
    print (data.decode("utf-8"))   
 

idp_sso_image1 Échantillons de facteur :

a) Méthode d'attribution de mot de passe OAuth 2.0 :

  • Exemple de demande pour obtenir un jeton :
  • Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
  • Maintenant, extrayez le zip et importez le fichier json extrait dans l'application postman.
  • WordPress REST API OAuth 2.0 Implémentation de la méthode d'authentification postman
  • Exemple
  • WordPress REST API OAuth 2.0 Méthode d'authentification postman remplacer l'URL ressource réelle
  • Exemple de format de requête pour demander des ressources en utilisant le jeton obtenu à la dernière étape.
  • Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
  • Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
  • WordPress REST API OAuth 2.0 Implémentation de la méthode d'authentification postman
  • Exemple
  • WordPress REST API OAuth 2.0 Méthode d'authentification postman remplacer l'URL ressource réelle

b) Méthode d'attribution des informations d'identification client OAuth 2.0 :

  • Exemple de demande pour obtenir un jeton :
  • Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
  • Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
  • WordPress REST API OAuth 2.0 Implémentation de la méthode d'authentification postman
  • Exemple
  • WordPress REST API OAuth 2.0 Méthode d'authentification postman remplacer l'URL ressource réelle

c) Requête API REST pour obtenir la ressource réelle :

  • Vous pouvez télécharger l'exemple de demande de facteur à partir de ici.
  • Extrayez maintenant le fichier zip et importez le fichier json extrait dans l'application postman.
  • WordPress REST API OAuth 2.0 Implémentation de la méthode d'authentification postman
  • Exemple
  • WordPress REST API OAuth 2.0 Méthode d'authentification URL du facteur ressource réelle

idp_sso_image1 Fonction description

    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

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