跳转到主要内容

repoze.who.plugins.digestauth

项目描述

这是一个根据RFC-2617实现HTTP摘要访问身份验证的repoze.who插件

http://tools.ietf.org/html/rfc2617

它提供了对协议的良好支持,因为它通常在野外使用

  • 支持qop="auth"和qop="auth-int"模式

  • 为旧客户端提供兼容模式

  • 客户端nonce-count检查

  • 通过Authentication-Info头生成下一个nonce

以下协议功能很少被HTTP客户端支持,因此尚未实现

  • MD5-sess或除MD5以外的任何散列算法

  • 通过Authentication-Info头进行相互认证

配置

可以通过标准的repoze.who配置文件进行digest-auth插件配置,如下所示

[plugin:digestauth]
use = repoze.who.plugins.digestauth:make_plugin
realm = MyRealm
get_pwdhash = mymodule:get_pwdhash

以下配置选项可用

  • realm:区域字符串;原封不动地包含在挑战头中

  • domain:域名字符串;原封不动地包含在挑战头中

  • qop:所需的安全质量(“auth”或“auth-int”)

  • get_password:获取用户密码的回调函数的点分名称

  • get_pwdhash:获取用户密码散列的回调函数的点分名称

  • nonce_manager:用于nonce管理的类的点分名称

身份验证

要通过摘要认证验证用户,此插件需要访问他们的原始密码或他们的“密码散列”,这是他们的用户名、密码和认证区域的MD5散列

def calculate_pwdhash(username, password, realm):
    return md5("%s:%s:%s" % (username, realm, password)).hexdigest()

您必须向DigestAuthPlugin提供“get_password”或“get_pwdhash”回调函数。

nonce管理

摘要访问身份验证的安全性取决于密钥非ces的可靠生成和管理。为了防止重放攻击,服务器必须拒绝具有重复nonce的请求。

nonce管理的详细信息已提取到单独的接口中,由repoze.who.plugins.digestauth.noncemanager:NonceManager类定义。默认实现使用HMAC签名令牌和最近看到nonce计数的内存缓存。如果您有更特殊的需求,您可能需要实现自己的NonceManager子类。

0.1.1 - 2012-01-30

  • 更新许可证为MPL 2.0。

项目详情


下载文件

下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

repoze.who.plugins.digestauth-0.1.1.tar.gz (16.5 kB 查看哈希值)

上传时间 源代码

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页