L'authentification "Digest" est une méthode d'authentification HTTP qui améliore l'authentification basique en fournissant un moyen d'authentifier sans avoir à transmettre le mot de passe en clair sur le réseau.
Cet adaptateur permet l'authentification en utilisant un fichier texte contenant des lignes comportant les éléments de base d'une authentification Digest :
-
identifiant, tel que "
utilisateur.jean
" -
domaine, tel que "Zone administrative"
-
hachage MD55 d'un identifiant, domaine et mot de passe, séparés par des caractères deux-points.
Les éléments ci-dessus sont séparés par des caractères deux-points, comme dans l'exemple suivant (dans lequel le mot de passe est "unMotdepasse") :
unUtilisateur:Un domaine:3b17d7f3a9374666e892cbce58aa724f
L'adaptateur d'authentification Digest, Zend_Auth_Adapter_Digest
requiert plusieurs paramètres d'entrée :
-
filename : fichier utilisé pour réaliser l'authentification
-
realm : domaine d'authentification Digest ("realm" en anglais)
-
username : identifiant d'authentification Digest
-
password : mot de passe pour l'identifiant dans le domaine
Ces paramètres doivent être définis avant l'appel de
authenticate()
.
L'adaptateur d'authentification Digest retourne un objet
Zend_Auth_Result
, lequel a été alimenté avec l'identité sous la
forme d'un tableau ayant pour clés realm (domaine) et
username (identifiant). Les valeurs respectives associées à ces
clés correspondent aux valeurs définies avant l'appel à
authenticate()
.
$adaptateur = new Zend_Auth_Adapter_Digest($nomFichier, $domaine, $identifiant, $motdepasse); $resultat = $adaptateur->authenticate(); $identite = $resultat->getIdentity(); print_r($identite); /* Array ( [realm] => Un domaine [username] => unUtilisateur ) */