Estoy trabajando en un plugin de wordpress que proporciona un sistema de hilos de comentarios como disqus (pero diferentes).
Para iniciar sesión (para publicar comentarios), el flujo de trabajo es así:
- El usuario hace clic en el inicio de sesión en el blog de wordpress
- Se abre una ventana emergente con el formulario de inicio de sesión en la API de backend para mi complemento (otro sitio)
- El usuario inicia sesión y utiliza PostMessage y devuelvo un token de acceso.
Ahora, con ese token de acceso, cuando realice acciones como subir votos o publicar un comentario, le enviaré una solicitud de publicación a mi API de backend junto con el token y si el token es válido, agrego el comentario / upvote a la base de datos.
Pero no estoy seguro de cómo manejar de forma segura el token de usuario: mi primer pensamiento fue ponerlo en una cookie, pero luego cualquier blog de wordpress malicioso puede ejecutar algunos js para robar automáticamente todos los tokens de los usuarios que inician sesión en sus sitios web.
Y dado que todo el registro está ocurriendo en la parte delantera del blog de wordpress, no veo cómo puedo almacenar datos de manera que la API de back-end pueda acceder a ellos cuando el usuario realiza una acción pero no un blog malicioso. .
¿Cómo puedo almacenar ese token de forma segura? Pensé en incrustar el sitio web en un iframe para confiar en las variables de sesión, pero no estoy seguro de qué tan seguro es.