Estoy haciendo una solicitud de publicación de axios a mi servidor para iniciar sesión como usuario y registrar la respuesta en la consola para observar los datos que se devuelven:
const Login = () => { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const submitForm = (e) => { e.preventDefault(); axios .post("http://127.0.0.1:3000/login", { email, password }) .then((res) => console.log("res", res)) .catch((err) => console.log("err", err)); console.log({ email, password }); };Genero un token cuando el usuario inicia sesión correctamente y devuelve los datos del usuario junto con este token recién generado. Como puede ver aquí, estoy eliminando la contraseña de usuario del cuerpo de respuesta para no exponer la contraseña:
const generateToken = (user) => { delete user.password; const token = jwt.sign(user, config.appKey, { expiresIn: 86400 }); return { ...user, ...{ token } }; };Aquí están los datos registrados en la consola. En la imagen n. ° 1, puede ver que no hay contraseña en la parte de datos de la respuesta.
Sin embargo, en la parte de configuración de la respuesta, se expone la contraseña (ver imagen n.° 2). Mi pregunta es, ¿es esto algo de lo que preocuparse? Si es así, ¿cómo elimino la contraseña del usuario de la respuesta por completo?
¡Gracias por adelantado!
Si su conexión es segura (HTTP sobre TLS, ...), no es algo de lo que deba preocuparse.
La respuesta HTTP no la incluye, ya que la carga útil de la respuesta real es res.data .
Se almacena en el objeto de respuesta de axios , ya que res.config es la configuración que se proporcionó a axios para la solicitud. Pero no se almacena en ningún almacenamiento persistente.