Entiendo cómo configurar la cookie para que sea httpOnly en el lado del servidor cuando uso express y jwt.
res.cookie("jwt", accessToken, { secure: true, httpOnly: true })Sin embargo, ¿cómo podemos aprovechar httpOnly en el lado del cliente para hacer que el proceso de autenticación sea seguro y evitar que la cookie sea secuestrada? ¿Puedes explicar con un ejemplo por favor?
También estoy tratando de entender la diferencia entre acceder a una cookie cuando httpOnly es falso y otra cookie cuando httpOnly es verdadero. Entiendo que este último devolverá una cadena vacía, pero ¿dónde lo usamos en el lado del cliente cuando usamos jwt para la autenticación? ¿Deberíamos simplemente enviar una llamada ajax y no preocuparnos por nada más?
No debe almacenar tokens JWT directamente en la cookie, ya que cualquiera que mire las cookies en el navegador puede robar la cookie. La cookie debe cifrarse con un cifrado fuerte si desea almacenarla en la cookie.
HttpOnly bloqueará el acceso de JavaScript a la cookie y es una buena práctica configurar siempre todas las cookies importantes. También debe agregar el atributo seguro a todas las cookies. También considere configurar el atributo SameSite para hacerlo aún más seguro.