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 :
×L'authentification de l'API REST WordPress à l'aide de la méthode d'un fournisseur tiers implique l'utilisation de jetons (jeton d'accès/jeton d'identification/jeton jwt) reçus de fournisseurs tiers tels que Google, Facebook, Firebase, Apple, Azure AD, Keycloak, Okta, AWS Cognito. , Github, Slack, Gitlab, etc. pour accéder en toute sécurité à l'API WordPress Rest.
Les points de terminaison WordPress ne sont pas sécurisés par défaut et les données peuvent être volées via les API REST au format JSON. L'authentification API REST WordPress vous permet d'appeler des API REST avec plusieurs méthodes de sécurité telles que Basic Auth, API KEY, jeton JWT, jeton OAuth. Dans ce guide, nous utiliserons le jeton OAuth émis par les fournisseurs OAuth/OpenID Connect/Firebase pour valider les requêtes API REST qui garantiront la protection et la sécurité de votre site Web WordPress.
Chaque fois qu'une demande d'accès à l'API REST sera effectuée, l'authentification sera effectuée par rapport à ce token émis par des fournisseurs tiers comme Google, Facebook, Firebase, Apple, okta, etc., et sur la base de la validation de l'API. jeton, les ressources de cette requête API REST seront autorisées à accéder. Ainsi, le jeton unique que vous avez obtenu sur votre application après la connexion SSO peut être utilisé davantage pour accéder aux points de terminaison de l'API WP REST.
Le plugin d’authentification WordPress REST API fournit la sécurité contre tout accès non autorisé à vos API WordPress REST.
1. La demande de point de terminaison de l'API REST WordPress est effectuée avec le jeton d'accès/d'identification obtenu auprès des fournisseurs d'identité OAuth/OpenID Connect transmis dans l'en-tête d'autorisation avec le type de jeton comme Bearer.
2. La demande d'API REST WordPress est surveillée par notre plugin et la demande de validation/authentification du jeton JWT est envoyée au fournisseur d'identité OAuth/OpenID Connect (serveur).
3. La réponse est renvoyée par le fournisseur d'identité OAuth/OpenID Connect (serveur) pour la demande faite précédemment pour valider le jeton JWT.
4. Si la validation/authentification du jeton JWT réussit, l'accès à la ressource demandée est autorisé, ce qui signifie que le demandeur est désormais autorisé à accéder à la ressource/aux données et si, dans le cas, la validation du jeton échoue, une réponse d'erreur sera renvoyée. . Ainsi, les données sur les ressources sont désormais protégées et sont accessibles sur autorisation, la sécurité n'est donc pas un problème.
Cas d'utilisation associé : Comment empêcher les points de terminaison de l'API REST WordPress d'utiliser le jeton JWT fourni par Social Login ou les fournisseurs d'identité OAuth2.0/OpenID Connect ?
Comment effectuer l'authentification et garantir la sécurité ou effectuer une autorisation pour accorder l'accès aux points de terminaison de l'API REST WordPress sur la base du jeton d'accès/d'identification fourni par les fournisseurs de connexion sociale/OAuth lors du flux de connexion OAuth/OpenID SSO ?
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:
access_token : < access_token >
OR
id_token : < id_token >
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", "< access_token > OR id_token <id_token>");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
.addHeader = ("Authorization", "< access_token > OR id_token <id_token>")
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "< access_token > OR id_token <id_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: < access_token > OR id_token <id_token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': '< access_token > OR id_token <id_token>'
}
conn.request("GET", "/wp-json/wp/v2/posts ", 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. Activez le cryptage avancé pour les jetons à l'aide de HMAC
Cette fonctionnalité est disponible avec la méthode d'authentification de base dans laquelle, par défaut, le jeton est crypté à l'aide de la technique de codage Base64, mais avec la fonctionnalité avancée, le jeton peut être crypté avec un cryptage HMAC hautement sécurisé.
6. 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.
7. Créer une clé/des jetons API spécifiques à l'utilisateur
Comment utiliser cette fonctionnalité :
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.
Le plugin d’authentification WordPress REST API fournit la sécurité contre les accès non autorisés à vos API WordPress REST. Il vous offre une variété de méthodes d'authentification telles que l'authentification de base, l'authentification par clé API, l'authentification OAuth 2.0, l'authentification JWT.
Ce plugin vous permet de créer des points de terminaison/routes REST personnalisés pour récupérer/modifier/créer/supprimer des données avec une interface graphique facile à utiliser et également avec les requêtes SQL personnalisées. En outre, le plugin fournit la fonctionnalité permettant d’intégrer une API externe dans votre site WordPress avec des plateformes tierces.
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.