Entiendo que un encabezado es la solución "más limpia" para transportar un token de autenticación de un sistema confiable a otro en una llamada REST. Pero cuando estás en el código JavaScript del lado del cliente, el mundo me parece diferente.
Las cookies se pueden marcar como "solo http" y, por lo tanto, JavaScript no las puede robar fácilmente. Un encabezado incluso tiene que ser configurado por JavaScript, por lo tanto, el token de autenticación debe ser accesible desde JavaScript. Pero aún así, las personas usan encabezados de autenticación para enviar sus tokens de autenticación de un cliente JavaScript no confiable al servidor.
¿Qué ha cambiado desde el antiguo "uso de cookies con solo HTTP y marca de seguridad" para "dejar que el JavaScript maneje el token de autenticación"? ¿O debería ser la forma correcta de que "en el lado del cliente, use cookies y tan pronto como ingrese al mundo de confianza, cambie al encabezado de autenticación"?
PD: Sé que hay muchas respuestas a preguntas similares, pero creo que mis preguntas son desde un punto de vista diferente "lo que ha cambiado, es diferente".