Método de autenticación de clave API REST de WordPress | API REST segura
Noticias
La autenticación de la clave API REST de WordPress implica verificar la clave API (token de portador) Para acceder a las API REST de WP. Cada vez que se inicia una solicitud para acceder a los endpoints de la API REST de WP, es necesario autenticarse mediante la clave (token portador). El acceso a los recursos del endpoint de la API REST de WordPress solicitado se otorga en función de la validación de la clave API (token portador).
Para que conste, la clave API es un protocolo de autenticación diseñado para Permitir a los desarrolladores generar claves de autenticación que podrían usarse para recursos como procesos del lado del servidor, aplicaciones de teléfonos móviles y computadoras de escritorio.
El método de autenticación de la clave API de WordPress es fundamental para garantizar la seguridad de tu API REST de WordPress. Si la clave API se ve comprometida, puede regenerarse, lo que provoca la caducidad automática de todas las claves generadas previamente. La clave recién creada se utilizará para la autenticación de la clave API de WP. No proteger tu API REST puede suponer importantes riesgos de seguridad, ya que puede permitir que personas no autorizadas accedan a tu sistema, lo que podría provocar filtraciones de datos.
Esta guía lo guiará a través de un proceso detallado, paso a paso, para Instalación y configuración de la autenticación de la API REST de WordPress para mejorar la seguridad de su API REST.
Autenticación de la API REST de WordPress

El complemento de autenticación de API REST de WordPress brinda seguridad contra el acceso no autorizado a las API REST de WordPress. Nuestro complemento ofrece múltiples métodos de autenticación, como autenticación básica, autenticación con clave API, autenticación OAuth 2.0 y autenticación JWT.
Para saber másRequisitos previos: descarga e instalación
- Inicie sesión en su instancia de WordPress como administrador.
- Ir a WordPress Panel de control -> Complementos y haga clic en Añadir nuevo.
- Buscar un WordPress Autenticación de API REST complemento y haga clic en Instalar ahora .
- Una vez instalado, haga clic en Active.
Caso de uso: Proteger/asegurar el acceso a los puntos finales de la API REST de WordPress mediante una clave/token portador
1. La autenticación con clave API puede servir como protección para los puntos finales de la API REST de WordPress, como entradas, páginas o cualquier otra API REST de WordPress, protegiéndolos del acceso no autorizado y eliminando la necesidad de compartir las credenciales de inicio de sesión de WP, el ID y el secreto de cliente de un usuario para la autenticación. Este método de generación de claves API de WordPress crea una clave de autenticación única que puede utilizar para autenticar varias API REST de WordPress en su sitio web.
Utilizar la autenticación mediante clave API REST de WordPress es uno de los métodos más sencillos y utilizados para reforzar la API REST de WP con autenticación mediante clave API. Este método mejora la seguridad de las API REST en tu sitio web de WordPress.
2. Imagina que has desarrollado una aplicación de blog para Android e iOS y has publicado todos tus blogs en WordPress. Sin embargo, quieres recuperar las entradas/blogs de las API REST de WordPress, manteniéndolas inaccesibles al público. En estos casos, es recomendable implementar la autenticación de claves de la API REST de WordPress para proteger tus solicitudes GET y garantizar la seguridad de tus endpoints.
El complemento proporciona dos tipos de claves API/tokens de seguridad que se pueden usar para autenticar las API REST de WordPress:
I. Clave API universal - La clave API universal será la más adecuada para autenticar las API REST de WP, que involucran el método HTTP GET y no requieren capacidades de usuario de WordPress.
Tenga en cuenta lo siguiente: Esta clave no implica capacidades de usuario y no se puede utilizar para acceder a aquellas API para las que WordPress espera permisos de usuario. "Ejemplo - Si solo desea utilizar las API GET para obtener publicaciones generales de WordPress, comentarios, etc.”
II. Clave API específica del usuario - La API basada en usuario será la más adecuada para autenticar las API REST de WP que involucren cualquiera de los métodos HTTP como - GET, POST, PUT, DELETE, especialmente en aquellos casos en los que se quieran realizar operaciones que involucren capacidades del usuario.
Ejemplo Si desea realizar alguna operación como obtener publicaciones de WordPress en función de las capacidades del usuario (sus roles de WP), datos del usuario, o desea crear nuevos usuarios, nuevas publicaciones, etc.
Lea los casos de uso para los siguientes métodos de autenticación de API Rest:
Configurar el complemento de autenticación de la API de WordPress [De primera calidad]
- En el complemento, vaya a Configurar la pestaña Autenticación API y haga clic en Autenticación de clave API como método de autenticación API.
- Una vez que guarde la configuración, en el Sección de clave API universal Obtendrá la opción Generar nuevo token, haga clic en Generar nueva clave Botón. Esta clave/token expirará cuando generes una nueva clave/token.
- Una vez generada la clave API (token), puedes usarla para proteger los endpoints de la API REST de WordPress. (Siempre puedes generar la nueva clave API; todas las claves generadas expirarán automáticamente).
- Debes pasar la clave API al encabezado de autorización como un token portador mientras realizas la solicitud de API REST a tu sitio WP, como se muestra en el paso a continuación.
- Los usuarios que tengan este token pueden acceder a la API REST como se muestra a continuación.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer <token>
Sample request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer kGUfhhzXZuWisofgnkAsuHGDyfw7gfhg5s
Sample curl Request Format-
curl -H "Authorization:Bearer <token-value>"
-X GET http://<wp_base_url>/wp-json/wp/v2/posts
-H 'app-name:TheAppName'
I. Authorization : El HTTP Autorización El encabezado de la solicitud suele incluir las credenciales del agente de usuario o el tipo y valor del token, lo que sirve para autenticar al agente de usuario con un servidor. Esto suele ocurrir tras un intento de autenticación fallido, donde el servidor responde con un estado de 401 No autorizado.
II. Bearer <token-value>: La
Portador Lo crea el servidor de autenticación. Cuando una aplicación cliente solicita el servidor de autenticación, este autentica el token y responde a la aplicación cliente.
Ejemplos de código en lenguajes de programación.
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 <token-value>");
request.AddHeader = ("app-name", "TheAppName");
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 <token-value>");
.addHeader = ("app-name", "TheAppName");
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer < access_token / id_token >",
"app-name": "TheAppName"
},
};
$.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',
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 <token-value>'
'app-name: TheAppName'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': 'Bearer <token-value>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()
data = res.read()
print (data.decode("utf-8"))
Muestras de cartero:
- Descargue la exportación de la colección POSTMAN desde aqui.
- Importe el archivo JSON descargado a la aplicación Postman como se muestra a continuación.
- Una vez que importe el archivo JSON, haga clic en el Solicitud de API REST bajo la pestaña Colecciones como se muestra en la última figura. Ahora reemplace el con su dominio de Wordpress en el http://<wp_base_url>/wp-json/wp/v2/posts y reemplazar la API en el encabezado con el valor del token tal como se generó en el complemento.
- Ejemplo:
Siga los pasos a continuación para realizar una solicitud de API REST utilizando Postman:
Descripción de la característica
1. Restricción de API REST basada en roles:
Esta función permite restringir el acceso a la API REST según los roles de usuario. Puede especificar qué roles deben tener permiso para acceder al recurso solicitado mediante las API REST. Por lo tanto, cuando un usuario inicia una solicitud a la API REST, se recupera su rol y solo se le concede acceso al recurso si su rol está incluido en la lista blanca.
¿Cómo configurarlo?
- Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
- En la sección "Restricción basada en roles", inicialmente, todos los roles tienen acceso a las API de forma predeterminada. Sin embargo, puede limitar el acceso selectivamente activando la casilla junto a los roles que desee restringir.
- En la captura de pantalla anterior, la casilla de verificación del rol de suscriptor está habilitada. Por lo tanto, cada vez que un usuario con su rol de suscriptor realiza una solicitud de API, no podrá acceder al recurso solicitado.
Nota: La función de restricción basada en roles es válida para la autenticación básica (nombre de usuario: contraseña), el método JWT, OAuth 2.0 (concesión de contraseña) y autenticación de clave API (clave API específica del usuario).
2. Encabezado personalizado
Esta función permite elegir un encabezado personalizado en lugar del encabezado "Autorización" predeterminado. Esto mejora la seguridad al incluir un encabezado con nombre personalizado. Si alguien intenta enviar una solicitud de API REST con un encabezado "Autorización", no podrá acceder a las API.
¿Cómo configurarlo?
- Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
- Entonces en el 'Cabecera personalizada' Sección, puede editar el cuadro de texto para ingresar el nombre personalizado que desee.
3. Excluir las API REST
Esta función le permite crear una lista blanca para sus API REST, lo que permite el acceso directo a ellas sin necesidad de autenticación. Por lo tanto, todas las API REST incluidas en esta lista blanca pasan a ser de acceso público.
¿Cómo configurarlo?
- Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
- Luego, en 'Excluir API REST', puede ingresar sus API en el formato prescrito que debe estar en la lista blanca para acceso público.
- Ejemplo: Supongamos que desea excluir la API REST '/wp-json/wp/v2/posts', entonces debe ingresar '/wp/v2/posts' en el cuadro de texto.
4. Crear claves/tokens API específicos del usuario
- Esta función está disponible dentro del método de clave API, lo que permite generar tokens basados en información específica del usuario en lugar de un token generado aleatoriamente, que es una clave universal.
- Al usar la clave/token de API universal, los usuarios podrían carecer de los permisos necesarios para acceder a API REST específicas de WordPress con métodos de solicitud como POST, PUT o DELETE. Estas API implican acciones como la creación de usuarios, publicaciones, páginas, etc., que requieren permisos o roles de usuario específicos para su funcionamiento. Esta limitación se debe a que la clave universal se genera aleatoriamente y no incluye información específica del usuario.
- La función de clave/token API basado en el usuario permite a los usuarios utilizar las API REST de WordPress con métodos de solicitud como POST, PUT y DELETE, que requieren credenciales de usuario o roles específicos para su funcionalidad. Cuando se ejecuta una solicitud a la API REST de WordPress utilizando la clave basada en el usuario, el sistema recupera el rol del usuario y otorga acceso solo si este posee los permisos necesarios.
- Por Ejemplo: Solo los usuarios con roles de administrador y editor tienen permiso para crear/editar/eliminar una publicación.
- Entonces, si se realiza una solicitud a esta API para crear/eliminar/editar la publicación, la respuesta de la API será “No tiene permiso para realizar esta operación”.
- Ahora, si se realiza una solicitud con el token basado en el usuario generado para el usuario que tiene un rol de administrador o editor, solo ellos tienen acceso a esta API y pueden operar (crear/actualizar/eliminar) a través de la llamada API.
- Seleccione el usuario del menú desplegable y haga clic en el Crear clave API .
- Aparecerá una ventana emergente en la pantalla, sólo tienes que hacer clic en el OK Botón para copiar el token.
- Ahora, este token se puede utilizar con la solicitud de API del mismo modo que se utiliza la clave universal para realizar la solicitud de API.
Cómo utilizar esta función:
¡Felicitaciones! Has configurado correctamente la autenticación de la clave de la API REST de WordPress con esta guía. Ahora, tus puntos finales de la API REST de WordPress están seguros y tus datos protegidos contra accesos no autorizados.
Artículos Relacionados
Solicite una demostración del complemento
Obtenga una prueba con todas las funciones
Gracias por tu respuesta. Nos pondremos en contacto contigo en breve.
Algo salió mal. Por favor envíe su consulta nuevamente

¿NECESITA AYUDA?
Envíenos un correo electrónico a [email protected] para obtener orientación rápida (por correo electrónico/reunión) sobre sus necesidades y nuestro equipo le ayudará a seleccionar la mejor solución/plan adecuado según sus necesidades.
