TigerZF
🌐Español

15.3. Autenticación Digest

15.3.1. Introducción

La autenticación Digest es un método de autenticación HTTP que mejora la autenticación Basic al proporcionar una forma de autenticarse sin tener que transmitir la contraseña en texto claro a través de la red.

Este adaptador permite la autenticación contra archivos de texto que contienen líneas con los elementos básicos de la autenticación Digest:

  • nombre de usuario, como "joe.user"

  • reino (realm), como "Administrative Area"

  • hash MD5 del nombre de usuario, el reino y la contraseña, separados por dos puntos

Los elementos anteriores se separan con dos puntos, como en el siguiente ejemplo (en el que la contraseña es "somePassword"):

someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8

15.3.2. Detalles específicos

El adaptador de autenticación Digest, Zend_Auth_Adapter_Digest, requiere varios parámetros de entrada:

  • filename - Archivo contra el cual se realizan las consultas de autenticación

  • realm - Reino de autenticación Digest

  • username - Usuario de autenticación Digest

  • password - Contraseña para el usuario del reino

Estos parámetros deben establecerse antes de llamar a authenticate().

15.3.3. Identidad

El adaptador de autenticación Digest devuelve un objeto Zend_Auth_Result, que ha sido poblado con la identidad como un array que tiene las claves realm y username. Los valores respectivos del array asociados a estas claves corresponden a los valores establecidos antes de que se llame a authenticate().

$adapter = new Zend_Auth_Adapter_Digest($filename,
                                        $realm,
                                        $username,
                                        $password);

$result = $adapter->authenticate();

$identity = $result->getIdentity();

print_r($identity);

/*
Array
(
    [realm] => Some Realm
    [username] => someUser
)
*/