password example español auth http basic-authentication digest-authentication

http - example - ¿Qué es el "reino" en la autenticación básica?



http request authentication header (3)

Estoy configurando la autenticación básica en un sitio php y encontré this página en el manual de php que muestra la configuración. ¿Qué significa "reino" aquí en el encabezado?

header(''WWW-Authenticate: Basic realm="My Realm"'');

¿Es la página solicitada?


De acuerdo con el RFC 7235 , el parámetro realm se reserva para definir espacios de protección (conjunto de páginas o recursos donde se requieren credenciales) y los esquemas de autenticación lo utilizan para indicar un alcance de protección .

Para obtener más detalles, consulte la siguiente cita (los aspectos más destacados no están presentes en el RFC):

2.2. Espacio de protección (Reino)

El parámetro de autenticación "reino" está reservado para el uso de esquemas de autenticación que desean indicar un alcance de protección .

Un espacio de protección está definido por la URI raíz canónica (el esquema y los componentes de autoridad de la URI de solicitud efectiva) del servidor al que se accede, en combinación con el valor de reino si está presente. Estos reinos permiten que los recursos protegidos en un servidor se dividan en un conjunto de espacios de protección, cada uno con su propio esquema de autenticación y / o base de datos de autorización. El valor de reino es una cadena, generalmente asignada por el servidor de origen, que puede tener semántica adicional específica al esquema de autenticación. Tenga en cuenta que una respuesta puede tener múltiples desafíos con el mismo esquema de autenticación pero con diferentes dominios. [...]

Nota 1: el marco para la autenticación HTTP está definido actualmente por el RFC 7235 , que actualiza el RFC 2617 y hace que el RFC 2616 sea obsoleto.

Nota 2: El parámetro de realm ya no siempre es necesario en los challenges .


Un dominio se puede ver como un área (no una página en particular, podría ser un grupo de páginas) para el cual se usan las credenciales; esta es también la cadena que se mostrará cuando el navegador abra la ventana de inicio de sesión, por ejemplo,

Por favor ingrese su nombre de usuario y contraseña para <realm name> :

Cuando el reino cambia, el navegador puede mostrar otra ventana emergente si no tiene credenciales para ese reino en particular.


Desde RFC 1945 (HTTP / 1.0) y RFC 2617 (autenticación HTTP referenciada por HTTP / 1.1)

El atributo de reino (no distingue entre mayúsculas y minúsculas) es obligatorio para todos los esquemas de autenticación que generan un desafío. El valor de reino (distingue entre mayúsculas y minúsculas), en combinación con la URL raíz canónica del servidor al que se accede, define el espacio de protección. Estos reinos permiten que los recursos protegidos en un servidor se dividan en un conjunto de espacios de protección, cada uno con su propio esquema de autenticación y / o base de datos de autorización. El valor de reino es una cadena, generalmente asignada por el servidor de origen, que puede tener una semántica adicional específica para el esquema de autenticación.

En resumen, las páginas en el mismo dominio deben compartir las credenciales. Si sus credenciales funcionan para una página con el dominio "Mi Reino" , se debe asumir que la misma combinación de nombre de usuario y contraseña debería funcionar para otra página con el mismo dominio.