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
)
*/