¿Estás haciendo una aplicación móvil o un frontend que necesita extraer información securizada de un sistema WordPress? En este artículo me gustaría compartir mi experiencia creando un acceso securizado vía JWT (Json Web Token) con la API de WordPress de forma rápida y sencilla.
Acceso rápido
Lo primero que necesitamos, como imaginarás, es una web con WordPress en la que podamos instalar un plugin. El plugin en cuestión es JWT Authentication for WP REST API V2. Debes saber, que antes de recomendarte un plugin lo he probado a conciencia y he revisado que sea 100% seguro, de otra forma, no te lo recomendaría o trataría de hacerlo por otra vía. Este, es completamente seguro y recomendado.
Antes de instalarlo, debes de tener las siguientes recomendaciones en cuenta:
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
define('JWT_AUTH_SECRET_KEY', 'tu-clave-secreta');
Esta línea lo que hace es generar tus tokens de seguridad en base a la semilla que está entre comillas simples, en este caso 'tu-clave-secreta'.
Ahora que ya tenemos nuestro plugin instalado y configurado en nuestro WordPress, podemos proceder a realizar las pruebas pertinentes. Para ellos usaremos una aplicación llamada Postman.
Postman, no solo te servirá para probar la autenticación sino que podrás probar con él cualquier API que encuentres por internet y analizar con él la respuesta que te da dicha API para usarla donde necesites.
Lo primero, es la URL que debe de ser similar a esta:
El método que debemos usar para enviar la información es POST y en la pestaña body debes enviar los parámetros 'username' y 'password' como en la siguiente imagen:
Al pulsar en SEND deberías de tener una respuesta similar a la que aparece en la imagen.
Recuerda que el usuario que enviamos en username debe existir en tu WordPress y comprueba que la contraseña sea la correcta.
Una vez que tenemos el token, ya podríamos autenticarnos con el usuario y con él usando la siguiente url en Postman.
Para comprobar que el token que hemos recibido está funcionando correctamente, podemos enviar la siguiente url:
Al igual que la petición anterior debemos usar el método POST pero en esta ocasión lo que debemos modificar es la pestaña Headers para añadir un nuevo header llamado Authorization. En él, debemos añadir lo siguiente:
Tal y como se ve en la imagen, añadiremos la palabra clave Bearer seguido del token que nos devolvió WordPress en el paso anterior. Si todo va bien, la respuesta debería ser un status 200.
Con este sencillo plugin y unos pocos pasos, ya puedes autenticar en tu aplicación frontend o móvil a los usuarios que tengas en tu web WordPress sin necesidad de usar otro backend.
¡Espero que te haya servido este artículo y si tienes cualquier duda me dejes un comentario para ayudarte a resolverlo!
He creado una academia online para enseñar a todo el mundo a crear aplicaciones móviles desde 0. He empezado con un curso de desarrollo de aplicaciones móviles con herramienta noCode que se llama FlutterFlow y próximamente haremos uso de esta autenticación con la API de WordPress para la creación de la app del curso.
Si estás interesado en aprender, pásate por https://va360.academy o por el canal de Youtube.
¡Te espero!