es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuál es la estrategia para implementar un inicio de sesión automático utilizando JWT?

Soy nuevo en la autorización jwt. En mi lugar de origen, solo se utiliza la autorización de usuario y contraseña sin jwt. Ahora que aprendí lo básico de jwt, quiero usarlo y aquí está mi pregunta:

En mi componente de inicio de sesión, recopilo el correo electrónico y la contraseña y, si son correctos, envío un JWT firmado al usuario. Almaceno ese token con js-cookie. (Espero que hasta aquí no haya problemas).

Ahora, en mi _app.js (estoy usando nextjs), creo que si hay un componente que requiere datos, simplemente construyo la aplicación como si no hubiera ningún inicio de sesión. Lo único que haría diferente es que, si la obtención de datos no tiene éxito, enviaría al usuario a la pantalla de inicio de sesión. De esta manera, el usuario estaría automáticamente conectado mientras tenga la cookie y ni la cookie ni el token caduquen.

¿O hay un enfoque mejor?

Editar después de leer los comentarios:
Mientras tanto, agregué el inicio de sesión de Auth0 a mi aplicación. Desactivé todos los registros y creé al usuario en la base de datos de Auth0. La desventaja para mí es que ahora la configuración de la aplicación lleva más tiempo, ya que necesito configurar otro servicio de terceros. Pero está bien, ya que esto aumenta la seguridad.

Pero ahora mi pregunta cambia: ¿Puedo dejar de usar jwt ahora, ya que puedo confiar en el usuario que está conectado? Diría que no, porque la API es una API abierta sin protección jwt, ¿así que de todos modos mi pregunta no cambió realmente?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que tienes un buen entendimiento de cómo implementar la autorización JWT y cómo almacenar el token usando js-cookie. En cuanto a tu enfoque en _app.js, puede funcionar para tus propósitos, pero ten en cuenta que esto permitiría a cualquier usuario con un token válido acceder a cualquier componente que requiera datos. Si tienes diferentes niveles de acceso o necesitas restringir ciertos datos a ciertos usuarios, es posible que necesites implementar lógica adicional. Además, asegúrate de manejar adecuadamente la expiración del token y los tokens no válidos, así como de asegurar el almacenamiento del propio token.

    En cuanto a tu pregunta actualizada, si seguir utilizando JWT depende de los detalles específicos de tu aplicación y API. Si bien el inicio de sesión de Auth0 puede proporcionar seguridad adicional, JWT aún puede ser útil para proteger tu API y garantizar que las solicitudes provengan de usuarios autenticados. También es importante considerar cualquier requisito legal o regulatorio para la autenticación y protección de datos.

Comments are closed.