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()
.
<?php require_once 'Zend/Auth/Adapter/Digest.php'; $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 ) */