repoze.who.plugins.digestauth является repoze.who плагин реализации Дайджест аутентификации доступа протокола HTTP в соответствии с RFC-2617:
& NBSP; HTTP: //tools.ietf.org/html/rfc2617
Это обеспечивает хорошую поддержку для протокола, как это обычно используется в дикой природе:
- Как QOP = "авт" и QOP = режимы "Авт-ИНТ"
- Режим совместимости для старых клиентов
- Проверка клиента одноразовый отсчет
- Следующего поколения одноразовый через Authentication-Info заголовок
Следующие особенности протокола редко поддерживается HTTP клиентов и, таким образом, еще не были реализованы:
- MD5-Sess, или любой хеш алгоритм MD5, кроме
- Взаимная аутентификация с помощью заголовка аутентификации-Info
Конфигурация
Конфигурация плагина дайджест-авторизации можно сделать из стандартного файла конфигурации repoze.who вот так:
[плагина: digestauth]
Использование = repoze.who.plugins.digestauth: make_plugin
область = MyRealm
get_pwdhash = MyModule: get_pwdhash
Следующие варианты настройки:
- Царство: царство строка; включены дословно в заголовке вызов
- Домен: строка домена; включены дословно в заголовке вызов
- QOP: желаемое качество защиты ("Идент" или "авт-INT")
- Get_password: пунктирная имя функции обратного вызова, чтобы получить пароль пользователя
- Get_pwdhash: пунктирная имя функции обратного вызова, чтобы получить хэш пароля пользователя
- Nonce_manager: пунктирная имя класса для использования в NONCE управления
Аутентификация
Для аутентификации пользователя с помощью Digest Auth, этот плагин необходим доступ к любой сыром пароль или их "хэш пароля", который MD5 сумму их имя пользователя, пароль и аутентификации области:
Def calculate_pwdhash (имя пользователя, пароль, область):
. & NBSP; вернуться md5 ("% s:% s:% s"% (имя пользователя, царство, пароль)) hexdigest ()
Вы должны предоставить функцию обратного вызова "get_password" или "get_pwdhash" в DigestAuthPlugin.
Нонс управления
Безопасность дайджест аутентификация в решающей степени зависит от безопасного производства и managent криптографических одноразовых номеров. Для того, чтобы предотвратить повтор атакует сервер должен отклонять запросы, которые имеют повторяющуюся одноразовое.
Подробности NONCE управления были извлечены в отдельный интерфейс, определяется repoze.who.plugins.digestauth.noncemanager: класса NonceManager. Реализация по умолчанию использует HMAC-подписанные токены и в оперативной памяти кэш недавно видел одноразовых номеров пунктам. Если у вас есть более конкретные потребности вы хотели бы реализовать свой собственный NonceManager подкласс
Что нового В этом выпуске:.
- Обновление лицензии на MPL 2.0.
Требования
- Python
Комментарии не найдены