Le plugin d’authentification WordPress REST API fournit la sécurité contre tout accès non autorisé à vos API WordPress REST.
Résultats de recherche :
×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.
Le plugin d’authentification WordPress REST API fournit la sécurité contre tout accès non autorisé à vos API WordPress REST.
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.
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é :
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.
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
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.
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"))
var client = new RestClient("http://<wp_base_url>/wp-json/api/v1/token ");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AlwaysMultipartFormData = true;
request.AddParameter("username", "<wordpress_username>");
request.AddParameter("password", "<wordpress_password>");
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("username", "<wordpress_username>");
.addFormDataPart("password", "<wordpress_password>");
.build();
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/api/v1/token ")
.method("POST", body)
.build();
Response responseclient.newCall(request).execute();
var form = new FormData();
form.append("username", "<wordpress_username>");
form.append("password", "<wordpress_password>");
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%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('username' => '<wordpress_username>','password' => '<wordpress_password>'),
));
$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=username;'))
dataList.append(encode('Content-Type: {}'.format('text/plain')))
dataList.append(encode(''))
dataList.append(encode("<wordpress_username>"))
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=password;'))
dataList.append(encode('Content-Type: {}'.format('text/plain')))
dataList.append(encode(''))
dataList.append(encode("<wordpress_password>"))
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"))
Suivez les étapes ci-dessous pour effectuer une requête API REST à l'aide de Postman :
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 ?
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 ?
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 ?
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 ?
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.
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.
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.
Besoin d'aide? Nous sommes ici !
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
Cette déclaration de confidentialité s'applique aux sites Web miniorange décrivant la manière dont nous traitons les informations personnelles. Lorsque vous visitez un site Web, celui-ci peut stocker ou récupérer des informations sur votre navigateur, principalement sous la forme de cookies. Ces informations peuvent concerner vous, vos préférences ou votre appareil et sont principalement utilisées pour que le site fonctionne comme vous le souhaitez. Les informations ne vous identifient pas directement, mais elles peuvent vous offrir une expérience Web plus personnalisée. Cliquez sur les titres des catégories pour vérifier comment nous traitons les cookies. Pour la déclaration de confidentialité de nos solutions, vous pouvez vous référer au Politique de confidentialité.
Les cookies nécessaires contribuent à rendre un site Web pleinement utilisable en activant les fonctions de base telles que la navigation sur le site, la connexion, le remplissage de formulaires, etc. Les cookies utilisés pour la fonctionnalité ne stockent aucune information personnelle identifiable. Cependant, certaines parties du site Web ne fonctionneront pas correctement sans les cookies.
Ces cookies collectent uniquement des informations agrégées sur le trafic du site Web, notamment les visiteurs, les sources, les clics et les vues des pages, etc. Cela nous permet d'en savoir plus sur nos pages les plus et les moins populaires ainsi que sur l'interaction des utilisateurs sur les éléments exploitables et ainsi de permettre nous améliorons les performances de notre site Web ainsi que de nos services.