Estamos utilizando JWT ( JSON Web Token ) para autenticar nuestra aplicación de WordPress con un servicio externo. El flujo actual en el que estamos pensando es así:
- El usuario inicia sesión en el sitio principal
- El sitio principal envía una solicitud POST con la información del usuario y el token JWT al sitio de WordPress
- El sitio WP almacena el token JWT
- El token se verifica para que caduque cada vez que el usuario visita una nueva página, y si el token caduca, el usuario será redirigido al sitio principal para iniciar sesión nuevamente.
Mis preguntas:
- ¿Es este el enfoque correcto?
- ¿Cómo guardo el token JWT? ¿Una galleta? ¿O en la base de datos, con la información del usuario como un identificador único? Nota: Los usuarios no estarán registrados en el sitio WP.
- ¿Cómo verifico la caducidad?
Hay un complemento WP para JWT pero no hay documentación para ello, por lo tanto, no estoy seguro de si servirá para mi propósito.
authentication
single-sign-on
Rutwick Gangurde
fuente
fuente
Respuestas:
Esto apareció como una notificación debido al voto positivo. Así es como lo resolví.
wp_init
controlador debe usarse para manejar la solicitud POST enviada por el punto final, para extraer el token.El punto final podría estar en cualquier idioma. Además, este es el flujo general del mismo, puede usarlo en cualquier lugar que desee.
fuente
Habilitar el inicio de sesión único en WordPress me llevó más de 18 horas de lucha, pero podría llevarle solo unos minutos:
Básicamente, querrá usar https://wordpress.org/plugins/wp-force-login/ y una versión modificada de https://as.wordpress.org/plugins/jwt-authenticator/ y luego crear una autenticación protegido en su sitio principal que genera un JWT (JSON Web Token) y redirige a la URL especial de su sitio de WordPress.
Ver código completo aquí .
fuente