跳转到主要内容

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_tokenparse_token。实现细节留给子类。

repose.who.plugins.vepauth 插件自带一个 SignedTokenManager,它是一个纯 Python 实现的简单令牌管理类。它提供了一些可以重写的方法,以自定义其行为。

0.3.0 - 2012-02-14

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 (20.5 kB 查看哈希)

上传时间

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面