Encabezado de Autorización HTTP | Un Tutorial Definitivo

Aprende a usar el encabezado de autorización HTTP para acceder a APIs de forma segura y eficiente, y cómo manejar errores y desafíos comunes.

Daniel Costa

Daniel Costa

29 June 2025

Encabezado de Autorización HTTP | Un Tutorial Definitivo

Si estás trabajando con APIs, probablemente sepas qué es una cabecera de autorización HTTP. Es una forma de enviar credenciales a un servidor para autenticar una solicitud. Se utiliza a menudo para acceder a recursos protegidos o realizar acciones que requieren permiso.

Pero, ¿sabes cómo usarla de forma eficaz y segura? En esta entrada de blog, te mostraremos cómo usar la cabecera de autorización HTTP como un profesional, utilizando una herramienta llamada Apidog.

💡
Apidog es una herramienta de desarrollo de API todo en uno que te ayuda a probar, depurar y documentar tus APIs de forma gratuita. Descárgala y pruébala.
button

Al final de esta entrada de blog, tendrás una mejor comprensión de la cabecera de autorización HTTP y de cómo usarla con confianza. ¡Empecemos!

¿Qué es una cabecera de autorización HTTP?

La cabecera de autorización HTTP es una parte del protocolo HTTP que te permite enviar credenciales a un servidor para autenticar una solicitud. Normalmente tiene el siguiente formato:

Authorization: <type> <credentials>

El <type> indica el esquema de autorización, como Basic, Bearer, Digest, etc. Las <credentials> son los datos reales que el servidor necesita para verificar tu identidad, como un nombre de usuario y una contraseña, un token, un hash, etc.

La cabecera de autorización HTTP se utiliza a menudo para acceder a recursos protegidos o realizar acciones que requieren permiso. Por ejemplo, es posible que tengas que enviar una cabecera de autorización HTTP para:

La cabecera de autorización HTTP es una forma sencilla y flexible de autenticar solicitudes, pero también conlleva algunos retos y riesgos. Debes elegir el esquema de autorización adecuado para tu API, generar y enviar la cabecera de autorización HTTP correctamente, gestionar los errores y las respuestas del servidor, proteger tu cabecera de autorización HTTP de los ataques y documentar tu cabecera de autorización HTTP para otros desarrolladores.

Cómo elegir el esquema de autorización adecuado para tu API

Hay muchos esquemas de autorización que puedes usar con una cabecera de autorización HTTP, como Basic, Bearer, Digest, OAuth, etc. Cada esquema tiene sus propias ventajas y desventajas, y debes elegir el que mejor se adapte a las necesidades y los requisitos de seguridad de tu API. Estos son algunos de los factores que debes tener en cuenta al elegir un esquema de autorización para tu API:

Para ayudarte a elegir el esquema de autorización adecuado para tu API, aquí tienes una tabla que resume las principales características y diferencias de algunos esquemas de autorización populares:

EsquemaComplejidadSeguridadRendimientoEstandarización
BasicBajaBajaAltaAlta
BearerBajaMediaAltaAlta
DigestMediaMediaMediaMedia
OAuthAltaAltaBajaMedia

Por supuesto, esta tabla no es exhaustiva y puede haber otros esquemas de autorización que no se enumeran aquí. Siempre debes investigar y probar antes de elegir un esquema de autorización para tu API.

¿Cómo usar la cabecera de autorización HTTP con la autenticación básica?

La autenticación básica es uno de los tipos más sencillos y utilizados de cabecera de autorización HTTP. Funciona enviando el nombre de usuario y la contraseña del solicitante en texto plano, codificados con base64, al servidor. A continuación, el servidor decodifica las credenciales y comprueba si coinciden con las almacenadas en su base de datos. Si lo hacen, el servidor concede acceso al recurso solicitado. Si no lo hacen, el servidor devuelve un mensaje de error.

Para usar la cabecera de autorización HTTP con la autenticación básica, debes seguir estos pasos:

  1. Codifica tu nombre de usuario y contraseña con base64. Puedes usar cualquier herramienta o biblioteca en línea para hacerlo. Por ejemplo, si tu nombre de usuario es "alice" y tu contraseña es "secret", la cadena codificada en base64 sería "YWxpY2U6c2VjcmV0".
  2. Añade el prefijo "Basic " a la cadena codificada. Esto indica que estás usando la autenticación básica. Por ejemplo, la cadena final sería "Basic YWxpY2U6c2VjcmV0".
  3. Establece el valor de la cabecera de autorización HTTP en la cadena final. Por ejemplo, la cabecera de autorización HTTP tendría este aspecto:
Authorization: Basic YWxpY2U6c2VjcmV0

4. Envía la solicitud al servidor. El servidor decodificará las credenciales y autenticará la solicitud. Por ejemplo, si estás usando curl, el comando tendría este aspecto:

curl -H "Authorization: Basic YWxpY2U6c2VjcmV0" https://example.com/api

5. Recibe la respuesta del servidor. Si las credenciales son válidas, el servidor devolverá el recurso solicitado. Si las credenciales no son válidas, el servidor devolverá un mensaje de error con el código de estado 401 (No autorizado).

Usar la cabecera de autorización HTTP con la autenticación básica es sencillo y fácil, pero también tiene algunos inconvenientes. El principal inconveniente es que las credenciales se envían en texto plano, lo que significa que pueden ser interceptadas y comprometidas por cualquiera que pueda ver el tráfico de la red.

Por lo tanto, la autenticación básica solo debe usarse a través de HTTPS, que cifra los datos y evita las escuchas. Otro inconveniente es que la autenticación básica no admite ninguna forma de gestión de sesiones, lo que significa que las credenciales tienen que enviarse con cada solicitud, lo que puede ser ineficiente e inseguro.

Por lo tanto, la autenticación básica solo debe usarse para APIs sencillas y sin estado, donde los requisitos de seguridad son bajos y el impacto en el rendimiento es mínimo.

Cómo usar la cabecera de autorización HTTP con el token Bearer

El token Bearer es otro tipo popular de cabecera de autorización HTTP. Funciona enviando un token, que es una cadena de caracteres que representa la identidad y los permisos del solicitante, al servidor. A continuación, el servidor valida el token y comprueba si concede acceso al recurso solicitado. Si lo hace, el servidor devuelve el recurso. Si no lo hace, el servidor devuelve un mensaje de error.

Para usar la cabecera de autorización HTTP con el token Bearer, debes seguir estos pasos:

  1. Obtén un token del servidor o de un servicio de terceros. El token puede generarse y validarse usando varios métodos y estándares, como JSON Web Token (JWT), que es una forma autocontenida y segura de codificar y verificar las reclamaciones. Para obtener un token, normalmente tienes que proporcionar algunas credenciales, como el nombre de usuario y la contraseña, o una clave de API, al servidor o al servicio. A continuación, el servidor o el servicio devolverá un token que contiene la información y los permisos del solicitante. Por ejemplo, si estás usando JWT, el token tendría un aspecto similar a este:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhbGljZSIsIm5hbWUiOiJBbGljZSBCb2IiLCJyb2xlIjoiYWRtaW4iLCJleHAiOjE2MjEwMjQwMDB9.6y0jZt7xg8GxhXUq3TJrcQ4aR7fZ0v0t5DLGJ4Z5C8k

El token consta de tres partes, separadas por puntos: la cabecera, la carga útil y la firma. La cabecera contiene el algoritmo y el tipo de token. La carga útil contiene las reclamaciones, que son la información y los permisos del solicitante. La firma es el resultado de aplicar el algoritmo a la cabecera y a la carga útil, usando una clave secreta. La firma garantiza la integridad y la autenticidad del token.

2. Añade el prefijo "Bearer " al token. Esto indica que estás usando la autenticación de token Bearer.

3. Establece el valor de la cabecera de autorización HTTP en la cadena final.

4. Envía la solicitud al servidor. El servidor decodificará y verificará el token y autenticará la solicitud.

5. Recibe la respuesta del servidor. Si el token es válido, el servidor devolverá el recurso solicitado. Si el token no es válido, el servidor devolverá un mensaje de error con el código de estado 401 (No autorizado) o 403 (Prohibido).

Cómo usar la cabecera de autorización HTTP con la autenticación Digest

La autenticación Digest es un tipo de cabecera de autorización HTTP más avanzado y seguro que la autenticación básica. Funciona enviando un hash, que es el resultado de aplicar una función matemática a una cadena de caracteres, de las credenciales y otra información, como un nonce y una marca de tiempo, al servidor. A continuación, el servidor calcula el mismo hash usando la misma información y lo compara con el enviado por el solicitante. Si coinciden, el servidor concede acceso al recurso solicitado. Si no coinciden, el servidor devuelve un mensaje de error.

Para usar la cabecera de autorización HTTP con la autenticación Digest, debes seguir estos pasos:

  1. Recibe un desafío del servidor. El desafío es un mensaje que contiene información que el servidor usa para verificar las credenciales, como un nonce, un realm y un qop. El desafío lo envía el servidor cuando el solicitante intenta acceder a un recurso protegido sin autenticación, o con credenciales no válidas. El desafío se envía con el código de estado 401 (No autorizado) y una cabecera llamada WWW-Authenticate.
  2. Calcula el hash de las credenciales y el desafío. El hash se calcula usando una función matemática llamada MD5, que produce un número hexadecimal de 32 dígitos a partir de cualquier entrada.

El hash se compone de tres partes: el HA1, el HA2 y la respuesta. El HA1 es el hash del nombre de usuario, el realm y la contraseña. El HA2 es el hash del método HTTP y el URI de la solicitud. La respuesta es el hash del HA1, el nonce, el recuento de nonce, el nonce del cliente, el qop y el HA2. El recuento de nonce es un número que indica cuántas veces se ha usado el nonce. El nonce del cliente es una cadena aleatoria que genera el solicitante.

Cómo enviar la cabecera de autorización HTTP con Apidog

Una vez que hayas elegido un esquema de autorización para tu API, debes generar y enviar la cabecera de autorización HTTP con tus solicitudes. Esto se puede hacer fácilmente con Apidog, una herramienta de desarrollo de API todo en uno que te ayuda a probar, depurar y documentar tus APIs. Apidog te permite:

button

Para usar Apidog para enviar la cabecera de autorización HTTP, debes seguir estos pasos:

Paso 1: Crea una nueva solicitud de API haciendo clic en el botón "Nueva solicitud".

Creación de una nueva solicitud de API en Apidog

Paso 2: Especifica el método HTTP e introduce la URL del punto final de la API al que quieres acceder.

Especificar la definición del punto final de la API en Apidog

Paso 3: Haz clic en la pestaña "Auth", elige el tipo de autenticación e introduce los detalles de la autenticación.

Introducción de los detalles de autenticación para obtener la solicitud del punto final en Apidog

Paso 4: Haz clic en el botón Send para enviar la solicitud del punto final con los detalles de autenticación incluidos automáticamente en la cabecera. Una vez enviada, puedes revisar la respuesta, incluyendo el código de estado, las cabeceras y el cuerpo. Si el token es válido, deberías ver un código de estado de 200 (OK) y el recurso solicitado en el cuerpo. Si el token no es válido, espera un código de estado de 401 (No autorizado) o 403 (Prohibido) junto con un mensaje de error en el cuerpo.

Comprobación y verificación de los datos y el informe de la respuesta de la API en Apidog

Como puedes ver, apidog hace que sea muy fácil y cómodo generar y enviar la cabecera de autorización HTTP con tus solicitudes de API. También puedes usar Apidog para probar y depurar otros aspectos de tu API, como los parámetros, las cabeceras y el cuerpo de tus solicitudes y respuestas, y obtener la validación automatizada de la API.

Cómo gestionar los errores y retos comunes con la cabecera de autorización HTTP

Cuando usas la cabecera de autorización HTTP para autenticar tus solicitudes de API, puedes encontrar algunos errores y retos que debes gestionar correctamente. Algunos de los errores y retos comunes son:

Credenciales no válidas o faltantes:

Uno de los errores más comunes con la cabecera de autorización HTTP es cuando las credenciales no son válidas o faltan. Esto puede ocurrir cuando el usuario introduce un nombre de usuario o una contraseña incorrectos, el token caduca o se revoca, el hash es incorrecto o se ha manipulado, o la cabecera está mal formada o se omite.

Para gestionar este error, siempre debes comprobar el código de estado de la respuesta y la cabecera WWW-Authenticate del servidor.

Si el código de estado es 401 (No autorizado), significa que el servidor requiere autenticación y proporciona un desafío que indica los esquemas y parámetros admitidos. A continuación, debes pedir al usuario las credenciales correctas, u obtener un nuevo token, y volver a intentar la solicitud con la cabecera de autorización adecuada.

Si el código de estado es 403 (Prohibido), significa que el servidor rechaza las credenciales o el token, y no permite el acceso al recurso. A continuación, debes informar al usuario del motivo y de las posibles acciones, como ponerse en contacto con el administrador o solicitar un nuevo permiso.

Ataques de repetición:

Otro reto común con la cabecera de autorización HTTP es cuando las credenciales o el token son reutilizados por un atacante que intercepta la solicitud o la respuesta. Esto puede comprometer la seguridad y la integridad de la API y de los datos. Para evitar este reto, siempre debes usar HTTPS, que cifra los datos y evita las escuchas.

También debes usar esquemas que incluyan nonce, marca de tiempo y firma, como la autenticación Digest y JWT, que hacen que las credenciales o el token sean únicos y verificables. También debes usar esquemas que tengan tiempo de caducidad y mecanismos de revocación, como OAuth 2.0, que limitan la validez y la usabilidad de las credenciales o del token.

Rendimiento y escalabilidad:

Otro reto común con la cabecera de autorización HTTP es cuando el proceso de autenticación afecta al rendimiento y a la escalabilidad de la API y del servidor. Esto puede ocurrir cuando el esquema de autenticación es complejo y computacionalmente intensivo, como el hash, el cifrado y la firma, o cuando la autenticación requiere varias solicitudes y respuestas, como la obtención y la actualización de tokens.

Para superar este reto, siempre debes elegir el esquema de autenticación adecuado para tu API, en función de los requisitos de seguridad, la funcionalidad y la experiencia del usuario. También debes optimizar el proceso de autenticación, como el almacenamiento en caché de las credenciales o del token, el uso de algoritmos y bibliotecas eficientes y la reducción de la sobrecarga de la red.

Documentación y comunicación:

Otro reto común con la cabecera de autorización HTTP es cuando el esquema de autenticación no está bien documentado y comunicado a los usuarios y desarrolladores de la API. Esto puede llevar a la confusión, a los errores y a la frustración.

Para evitar este reto, siempre debes documentar y comunicar el esquema de autenticación de tu API, como el tipo, el formato, los parámetros, los errores y los ejemplos de la cabecera de autorización.

Conclusión

La cabecera de autorización HTTP es una forma potente y flexible de proteger tus APIs y proporcionar autenticación y autorización para tus clientes. Siguiendo las mejores prácticas y los consejos que se comentan en esta entrada, puedes asegurarte de que tus APIs son robustas, fiables y cumplen con los estándares y las especificaciones.

También puedes usar varias herramientas y marcos de trabajo, como Apidog, para diseñar, depurar, desarrollar, simular y probar tus APIs con la cabecera de autorización HTTP. Apidog te ayuda a conectar todo el ciclo de vida de la API e implementar las mejores prácticas para el desarrollo de la API con un diseño primero.

button

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs