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