Uwierzytelnianie Digest jest metodą uwierzytelniania HTTP, która udoskonala uwierzytelnianie Basic dostarczając sposób uwierzytelniania bez konieczności przesyłania hasła w postaci czystego tekstu poprzez sieć.
Ten adapter pozwala na uwierzytelnianie w oparciu o pliki tekstowe zawierające linie, w których znajdują się podstawowe elementy uwierzytelniania digest:
-
nazwa użytkownika, jak na przykład "
joe.user" -
nazwa obszaru, jak na przykład "Administrative Area"
-
skrót MD5 nazwy użytkownika, nazwy obszaru oraz hasła, oddzielonych dwukropkami
Powyższe elementy są oddzielone dwukropkami, tak jak w poniższym przykładzie (w którym hasłem jest "somePassword"):
someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
Adapter uwierzytelniania digest, Zend_Auth_Adapter_Digest,
wymaga ustawienia kilku wejściowych parametrów:
-
filename - plik na podstawie którego przeprowadzane są zapytania uwierzytelniania
-
realm - obszar uwierzytelniania Digest
-
username - użytkownik uwierzytelniania Digest
-
password - hasło dla użytkownika danego obszaru
Te parametry muszą być ustawione przed wywołaniem metody
authenticate().
Adapter uwierzytelniania digest zwraca obiekt Zend_Auth_Result,
który został wypełniony danymi tożsamości w postaci tablicy posiadajacej
klucze realm oraz username. Odpowiednie
wartości tablicy powiązane z tymi kluczami odpowiadają wartościom
ustawionym przed wywołaniem metody 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
)
*/