repoze.who.plugins.vepauth
项目描述
这是一个通过BrowserID自动认证的repoze.who插件
https://browserid.org/ https://wiki.mozilla.org/Identity/BrowserIDSync
该插件实现了用于通过验证电子邮件协议(即Mozilla的BrowserID项目)认证到RESTful Web服务的实验性协议。它旨在用于Firefox Sync客户端等自动化工具。如果您正在寻找用于您网站人类访客的东西,请尝试
http://github.com/mozilla-services/repoze.who.plugins.browserid
访问受保护资源时,服务器将生成一个带有“OAuth+VEP”方案的401挑战响应,如下所示
> GET /protected_resource HTTP/1.1 > Host: example.com < HTTP/1.1 401 Unauthorized < WWW-Authenticate: OAuth+VEP url="/request_token"
客户端应从中提取URL并将VEP声明POST到该位置。这将创建一个新的认证会话并返回一组OAuth客户端凭证
> POST /request_token HTTP/1.1 > Host: example.com > Content-Type: application/x-www-form-urlencoded > > assertion=VEP_ASSERTION_DATA < HTTP/1.1 200 OK < Content-Type: application/json < < { < "oauth_consumer_key": SESSION_TOKEN, < "oauth_consumer_secret": SESSION_SECRET < }
后续请求应使用这些凭证以双因素OAuth模式进行签名
> GET /protected_resource HTTP/1.1 > Host: example.com > Authorization: OAuth oauth_consumer_key=SESSION_TOKEN, > oauth_signature_method="HMAC-SHA1", > oauth_version="1.0", > oauth_timestamp=TIMESTAMP, > oauth_nonce=NONCE > oauth_signature=SIGNATURE < HTTP/1.1 200 OK < Content-Type: text/plain < < For your eyes only: secret data!
会话令牌带有时间戳,最终会过期。如果发生这种情况,您将收到之前的401响应,并且应POST一个新的声明以获取新的凭证。
扩展令牌管理
repoze.who.plugins.vepauth 是可扩展的。如果您想提供不同的机制来管理令牌,您可以通过将不同的令牌管理器实例与 token_manager 选项一起提供给插件来实现。
TokenManager 类有两个需要实现的方法(它是一个抽象类):make_token 和 parse_token。实现细节留给子类。
repose.who.plugins.vepauth 插件自带一个 SignedTokenManager,它是一个纯 Python 实现的简单令牌管理类。它提供了一些可以重写的方法,以自定义其行为。
0.3.0 - 2012-02-14
用 MAC 访问认证替换了双因素 OAuth,实现了最新的草案标准
0.2.0 - 2012-02-14
为 token_url 添加了基本模式匹配,例如:“/{app}/token”。
使 TokenManager.make_token 和 TokenManager.parse_token 接受传入的请求作为第一个参数,主要是为了它们可以访问模式匹配的结果。
让 TokenManager.make_token 返回包含在响应中的额外信息的字典。
0.1.0 - 2012-02-07
初始发布。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分发
repoze.who.plugins.vepauth-0.3.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 832e59509e3604ecf2dd1543fc2214b2bc508b57989d1f6a02847d91a22c9664 |
|
MD5 | e43577e6be816df7f4426c976bd5539d |
|
BLAKE2b-256 | 9e9c63b93311835a78f6a3dc874c0e578c8203811afd69459e81c3f263e5cbc2 |