repoze.who.plugins.digestauth
项目描述
这是一个根据RFC-2617实现HTTP摘要访问身份验证的repoze.who插件
它提供了对协议的良好支持,因为它通常在野外使用
支持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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4594155a1d4171d3935176c49b8b87048a03199e1cde83c2bff4e72e96b20a81 |
|
MD5 | a698a0263d6f1ebc34ecae8daa82bfc9 |
|
BLAKE2b-256 | a06fa1f58794396ddb3fc9c0df5b6e962a6d64de48882f218db5233b45508d99 |