Autenticación "Digest"

Introducción

La Autenticación "Digest" es un método de la autenticación HTTP que mejora la Autenticación Básica proporcionando una manera de autenticar sin tener que transmitir la contraseña de manera clara a través de la red.

Este adaptador permite la autentificación contra archivos de texto que contengan líneas que tengan los elementos básicos de la autenticación "Digest":

  • username, tal como " joe.user "

  • realm, tal como " Administrative Area "

  • Hash MD5 del username, realm y password, separados por dos puntos

Los elementos anteriores están separados por dos puntos, como en el ejemplo siguiente (en el que la contraseña es " somePassword "):

someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8

Detalles Específicos

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

  • filename - Nombre del archivo contra el que se realiza la autenticación de las consultas

  • realm - Domino de la autenticación "Digest"

  • username - Usuario de la autenticación "Digest"

  • password - Contraseña para el usuario del dominio

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

Identidad

El adaptador de autenticación "Digest" devuelve un objeto Zend_Auth_Result , que ha sido rellenado con la identidad como un array que tenga claves realm y username . Los respectivos valores del array asociados con esas claves correspondes con los valores fijados andes de llamar 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
)
*/