Qué es el "reino" en la autenticación básica


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

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

¿Es la página que se solicita?

Author: Havvy, 2012-10-03

3 answers

De RFC 1945 (HTTP/1.0) y RFC 2617 (Autenticación HTTP referenciada por HTTP/1.1)

El atributo realm (no distingue mayúsculas de minúsculas) es necesario para todos esquemas de autenticación que plantean un desafío. El valor del 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 permitir que los recursos protegidos de un servidor se dividan en un conjunto espacios de protección, cada uno con su propio esquema de autenticación y / o base de datos de autorización. El valor realm es una cadena, generalmente asignado por el servidor de origen, que puede tener semántica adicional específico para el esquema de autenticación.

En resumen, las páginas del mismo dominio deberían compartir credenciales. Si sus credenciales funcionan para una página con el reino "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 reino.

 232
Author: Tim Cooper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-08 09:17:23

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

Por favor, introduzca 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.

 97
Author: Ja͢ck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-03 02:52:00

De acuerdo con el RFC 7235, el parámetro realm está reservado para definir espacios de protección (conjunto de páginas o recursos donde se requieren credenciales) y es utilizado por los esquemas de autenticación para indicar un ámbito de protección.

Para más detalles, vea la cita a continuación (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 "realm" está reservado para uso por esquemas de autenticación que deseen indicar un alcance de protección.

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


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 obsoleto.

Nota 2: El parámetro realm ya no se requiere siempre en desafíos.

 9
Author: Cassio Mazzochi Molin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-31 13:55:31