authentication – Autenticación JWT con WP – Enfoque

Pregunta:

Estamos usando JWT ( JSON Web Token ) para autenticar nuestra aplicación de WordPress con un servicio externo. El flujo de corriente en el que estamos pensando es así:

  1. El usuario inicia sesión en el sitio principal.
  2. El sitio principal envía una solicitud POST con la información del usuario y el token JWT al sitio de WordPress
  3. El sitio de WP almacena el token JWT
  4. El token se verifica por vencimiento cada vez que el usuario visita una nueva página, y si el token está vencido, el usuario será redirigido al sitio principal para iniciar sesión nuevamente.

Mis preguntas:

  1. ¿Es este el enfoque correcto?
  2. ¿Cómo almaceno el token JWT? ¿Una galleta? ¿O en la base de datos, con la información del usuario como identificador único? Nota: Los usuarios no se registrarán en el sitio de WP.
  3. ¿Cómo verifico la caducidad?

Hay un complemento de WP para JWT pero no hay documentación para él, por lo que no estoy seguro de si servirá para mi propósito.

Respuesta:

Esto apareció como una notificación debido al voto a favor. Así es como lo resolví.

  1. El punto final codificado en la aplicación con la que se supone que debo autenticarme prepara el token.
  2. El token debe tener el formato especificado.
  3. Entonces debe estar codificado en base 64 y encriptado con hash.
  4. El controlador wp_init debe usarse para manejar la solicitud POST enviada por el punto final, para extraer el token.
  5. La clave se compartirá de alguna otra forma, que se utilizará para el descifrado.
  6. Una vez que se extrae el token, compárelo con un token generado localmente con la misma información.
  7. Guárdelo en una cookie y verifíquelo en cada acceso a la página. Puede caducarlo después de un tiempo o seguir aumentando el intervalo de tiempo en cada acceso a la página.

El punto final puede estar en cualquier idioma. Además, este es el flujo general de la misma, puede usarla en cualquier lugar que desee.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım