BrowserID协议的Python库
项目描述
这是一个Python客户端库,用于BrowserID协议,该协议是Mozilla Persona的基础。
对于绝大多数部署,您只需调用模块级别的“verify”函数以验证给定的断言。
>>> data = browserid.verify(BROWSERIDASSERTION, "http://mysite.com") >>> print data["email"] "test@example.com"
此函数的精确实现将根据BrowserID团队的当前建议而变化。目前它将断言POST到远程验证器服务器的persona.org。
注意,您必须指定您网站的根URL作为该函数的第二个参数。这是“预期受众”,是BrowserID的关键安全特性。
如果您无法确定您的网站被访问的确切主机名(例如,由于虚拟主机),则可以指定一个或多个通配符模式,如下所示
>>> data = browserid.verify(BROWSERIDASSERTION, ["http://*.mysite.com"]) >>> print data["email"] "test@example.com"
为了更精细地控制验证过程,您可以创建一个“Verifier”类的实例,避免反复指定受众模式。
>>> verifier = browserid.RemoteVerifier(["*.mysite.com"]) >>> data = verifier.verify(BROWSERIDASSERTION) >>> print data["email"] "test@example.com"
为了提高性能,或者如果您想走在最前沿,您可以使用LocalVerifier类显式地在本地上执行验证,如下所示
>>> verifier = browserid.LocalVerifier(["*.mysite.com"]) >>> data = verifier.verify(BROWSERIDASSERTION) >>> print data["email"] "test@example.com"
注意,BrowserID协议的详细信息仍在变化,因此本地验证可能会因为不兼容的更改而中断。随着事物的稳定,这将成为默认实现。
0.14.0 - 2018-01-12
忽略关于断言格式更改的警告,因为现在没有这个风险。
0.13.0 - 2017-12-20
现在托管验证器已关闭,默认使用LocalVerifier。
0.12.0 - 2017-05-29
当使用LocalVerifier类时,添加对额外的“idpClaims”和“userClaims”的支持。
0.11.0 - 2016-05-11
本地验证器将验证电子邮件地址是否格式良好,以避免将其传递给无法正确处理它们的代码,例如null字节。
0.10.0 - 2016-03-09
当生成测试断言时,添加对“idpClaims”和“userClaims”的支持。这在使用此库与Firefox账户交互时很有帮助。
0.9.2 - 2014-04-13
移除python3的元组参数解包。
向错误对象添加“description”属性。
0.9.1 - 2012-11-26
修复了回退加密例程中的数据解码错误。
0.9.0 - 2012-10-04
支持Python 3。
0.8.0 - 2012-08-01
修正了纯Python RSA实现。不幸的是,这需要在RSKey对象上执行小的向后不兼容的API更改(SIZE属性现在是DIGESTSIZE,它给出内部十六进制摘要字符串的字节数)
0.7.0 - 2012-07-26
添加了JWT加密例程的纯Python实现,用于当M2Crypto不可用时使用。
向键对象添加了“from_pem_data”和“to_pem_data”方法。目前这些方法仅在安装了M2Crypto时可用。
添加了对授权委托的支持;感谢@kylef。
0.6.2 - 2012-07-17
将persona.org和相关网站添加到默认受信任的二级列表中。
0.6.1 - 2012-06-07
暂时禁用证书链。此功能在野外没有任何服务器使用,并且其规范很快将发生变化。
0.6.0 - 2012-31-05
移除使用自定义JWT解析器类的功能,它未使用并增加了不必要的复杂性。
在通过CertificateManager获取证书时添加了跳过ssl验证的方法。
0.5.0 - 2012-04-18
在检索证书时,使用requests而不是自定义代码来支持ssl检查。
删除了secure_urlopen的补丁实用程序(我们现在使用requests)
在处理RSA/DSA密钥时添加了更多详细的错误。
0.4.0 - 2012-03-13
从PyVEP重命名为PyBrowserID,以符合Mozilla品牌。
受众检查现在接受glob样式的模式以及固定的受众字符串。
验证器对象现在接受受众模式列表作为其第一个参数。这是为了鼓励做正确的事情,而不是,例如,传递请求中的主机名。
允许LocalVerifier使用自定义JWT解析器。
已移除browserid.verify_[remote|local|dummy],因为它们只会造成混淆。您应该接受browserid.verify函数提供的默认值,或者使用完整的Verifier对象。
将证书加载和缓存拆分为一个单独的类,在browserid.certificates:CertificatesManager中。
为了支持browserid.tests.support中的函数,已移除DummyVerifier类。
项目详情
下载文件
下载您平台对应的文件。如果您不确定该选择哪一个,请了解更多关于安装包的信息。
源代码发行版
构建发行版
PyBrowserID-0.14.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c227669e87cc25796ae76f6a0ef65025528c8ad82d352679fa9a3e5663a71e3 |
|
MD5 | fdfd2b65fbd3939332b90b6d2089ce59 |
|
BLAKE2b-256 | e42ee9bb9e24e600da08ff6a4d003362434eed717151f58413d8f73427e7e315 |
PyBrowserID-0.14.0-py2-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e237d6a2bc9ead849a4472a84d3e6a9309bec99cf8e10d36213710dda8df8ca |
|
MD5 | 2c14acee5d7ca6a230605bfbf6d62c4b |
|
BLAKE2b-256 | 0584c05bc305cfa581f958e191aa635ef0d1fd750072b68ef103e5b7170ecdf6 |