Autenticación básica de HTTP

La autenticación básica HTTP es un sencillo mecanismo de desafío y respuesta con el que un servidor puede solicitar información de autenticación (un ID de usuario y una contraseña) a un cliente. El cliente pasa la información de autenticación al servidor en una cabecera de autorización. La información de autenticación está codificada en base-64.

Este tema resume la autenticación básica HTTP. Para más detalles, consulte RFC 2617, Autenticación HTTP : Basic and Digest Access Authentication, en https://www.ietf.org/rfc/rfc2617.txt

Nota: El esquema de autenticación básica HTTP sólo puede considerarse seguro cuando la conexión entre el cliente web y el servidor es segura. Si la conexión no es segura, el esquema no proporciona suficiente seguridad para evitar que usuarios no autorizados descubran la información de autenticación para un servidor. Si cree que se puede interceptar una contraseña, utilice la autenticación básica con el cifrado SSL para proteger el ID de usuario y la contraseña.

Si un cliente realiza una solicitud para la que el servidor espera información de autenticación, el servidor envía una respuesta HTTP con un código de estado 401, una frase de motivo que indica un error de autenticación y un encabezado WWW-Authenticate. La mayoría de los clientes web manejan esta respuesta solicitando un ID de usuario y una contraseña al usuario.

El formato de una cabecera WWW-Authenticate para la autenticación básica HTTP es:
WWW-Authenticate: Basic realm="Our Site"

La cabecera WWW-Authenticate contiene un atributo de dominio, que identifica el conjunto de recursos al que se aplicarán el ID de usuario y la contraseña. Los clientes web muestran esta serie al usuario. Cada reino puede requerir información de autenticación diferente. Los clientes web pueden almacenar la información de autenticación para cada dominio para que los usuarios no tengan que volver a escribir la información para cada solicitud.

Cuando el cliente web ha obtenido un ID de usuario y una contraseña, vuelve a enviar la solicitud original con una cabecera de autorización. De forma alternativa, el cliente puede enviar la cabecera de autorización cuando realiza su solicitud original, y esta cabecera puede ser aceptada por el servidor, evitando el proceso de solicitud y respuesta.

El formato de la cabecera de autorización es:
Authorization: Basic userid:password