Chcę używać uwierzytelniania HTTP Digest Authentication z centralną bazą danych, która przechowuje nazwy użytkowników i zaszyfrowane hasła. Dane te powinny być używane przez różne serwery, na przykład serwer Apache httpd lub Tomcat. Klientami będą ludzie z przeglądarkami i innymi aplikacjami komunikującymi się w sposób RESTOWNOWY.HTTP Digest Authentication
O ile rozumiem, nie mogłem użyć tabeli z hasłami haseł. Możliwe jest tylko przechowywanie HA1 = MD5(username:realm:password), gdzie wymagane jest hasło tekstowe - poprawne?
Z drugiej strony wydaje się być możliwe do wykorzystania mieszany haseł z Apache httpd:
Apache httpd doc mówi:
Pierwsza wartość kolumny pierwszej rzędu zwrócony przez instrukcję zapytania powinien być ciągiem zawierającym zaszyfrowane hasło .
Czy działa z uwierzytelnianiem digest? Nie ma parametru określającego algorytm skrótu. W jaki sposób serwer httpd Apache decyduje, którego algorytmu użyć?
RFC 2617 mówi:
4,13 przechowywania haseł
uwierzytelniania Digest wymaga agent uwierzytelniający (zwykle serwer) przechowywać pewne dane pochodzące z nazwy użytkownika i hasła w „hasło plik "powiązany z daną domeną. Zwykle może to być zawiera pary składające się z nazwy użytkownika i H (A1), gdzie H (A1) jest strawioną wartością nazwy użytkownika, dziedziny, i hasłem, jak opisano powyżej.
Wygląda na to, że hasło musi być czystym tekstem.
Servlet 3.0 Spec mówi:
Chociaż hasła nie są wysyłane na drucie , HTTP Digest uwierzytelniania wymaga jasnych Hasło Text ekwiwalenty być dostepne do uwierzytelniający pojemnika tak, że może potwierdzić otrzymali uwierzytelnienia , obliczając oczekiwany skrót.
Co to jest "równoważny odpowiednik hasła tekstowego" tutaj? Skrót hasła?
Tomcat documentation mówi:
przypadku korzystania strawionych haseł z uwierzytelniania szyfrowanego, w postaci zwykłego tekstu użyte do wygenerowania szyfrowane jest inaczej. W powyższych przykładach {tekst jawny-hasło} należy zastąpić z {nazwa użytkownika}: {dziedzina}: {tekst jawny-hasło}. Na przykład w środowisku rozwojowym może to mieć postać testUser: localhost: 8080: testPassword.
Tu jest wymagane jasne hasło tekstowe.
Czy można używać uwierzytelniania HTTP Digest z już zaszyfrowanymi hasłami lub czy hasła mają być czystym tekstem?
Czy użytkownik musi ponownie wprowadzić swoje poświadczenia, jeśli zażąda strony z innej subdomeny?
Czy przeglądarka kasuje hasło z pamięci podręcznej, gdy karta jest zamknięta lub tylko gdy całość jest zamknięta? Może to różni się od przeglądarki do przeglądarki - chciałbym wiedzieć, która przeglądarka ją usuwa i która ją zachowuje.
Ogólne pytanie dotyczy tego, czy uwierzytelnianie digest jest odpowiednie dla mojego scenariusza z db użytkownika centralnego z już zaszyfrowanymi hasłami. A może lepiej skorzystać z usługi pojedynczego logowania opartej na sesji?
używam również md5 hash hasła na mojej bazy danych, możliwe jest użycie uwierzytelniania strawić? – vrunoa