一个wsgi oauth,用于从使用者和服务提供者的角度使用oauth。包含用于受保护的wsgi应用程序和关联的管理应用程序的中间件。提供一个简单的库,帮助用户将受oauth保护的资源集成到其应用程序中。

wsgioauth的Python项目详细描述


概述

wsgi oauth包是一个web服务器网关接口(wsgi)应用程序库,它将oauth集成到wsgi应用程序中。该软件包是为服务提供商和消费者应用程序而创建的。

服务提供商

服务提供者库由两部分组成:wsgi中间件和wsgi应用程序。应用程序用于管理消费者信息的供应;并且可以选择性地用于删除访问令牌。这个包定义了一个非常有限的XML-RPCAPI(请参阅调用模块),用于服务提供者管理应用程序。建议重写应用程序,或者至少最少使用XML-RPCAPI。

服务提供者wsgi中间件用于拦截oauth请求并保护应用程序的资源。资源可以是从文件或页到远程过程调用(rpc)的任何内容。运行中间件需要一个存储抽象。provider模块包含一个存储类,应该对其进行子类划分,以使用您喜欢使用的任何数据库。存储类是可以使用的非持久性存储的一个示例,但在应用程序重新启动期间将丢失所有使用者和令牌数据。身份验证可以由受保护的应用程序完成,也可以由在完全不同的服务器上运行的第三个应用程序完成。授权由一个插件处理,该插件很可能是为每个实现定制的。若要注册A插件,请使用"wsgioauth_authentication"egg入口点组(有关示例,请参阅此包的setup.py)。oauth签名方法也是使用egg入口点查找的;因此,如果需要,可以定义自己的签名方法。"wsgioauth_signatures"组用于注册签名方法插件。默认情况下,此包为纯文本和hmac sha1注册签名方法。

消费者

消费者图书馆需要更充实一些。目前,消费者库由一个使用OAuth版本1.0a的客户端组成。

示例

这个包包含一个名为 example 的目录,其中可以找到两个脚本:consumer.py和protected_resource.py。这两个脚本演示了受保护资源和使用者库的工作示例。这个例子是有限的,但是显示了这个库的用法和它的工作原理。:

要运行该示例,您需要安装wsgiref,它不是此包的依赖项,而是由示例使用的。要轻松安装wsgiref,请从命令行执行以下操作:

$ easy_install wsgiref

要运行示例,请执行以下操作:

$ cd wsgioauth
$ python example/protected_resource.py &
$ python example/consumer.py &

打开Web浏览器并转到地址http://localhost:8081/" rel="nofollow">http://localhost:8081/。在这里,您将获得一个链接来打印您的假期图片(有关此示例用例的详细信息,请参阅oauth规范)。单击此链接后,使用者获取访问令牌,以调用映像的受保护资源。在本例中,我们只是使用echo应用程序来回显参数。结果将显示在http://localhost:8081/print_vacation" rel="nofollow">http://localhost:8081/print_vacation页上,同时显示返回索引页的链接。获取访问令牌信息后,它将显示在索引页上。

这是一个很小的例子,将来可能会演变成一个更强大的例子。希望示例中的注释足以让您理解此软件包的用法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正在寻找Java8中的内置函数以忽略异常   javascript JQuery更改Div的颜色   java PostgreSQL使用JDBC写入inet列   java为什么体重指数计算结果不正确?   java禁用linux中的log4j控制台日志记录   java我可以让我的JMS主题在新订阅者连接时通知发布者(使用ActiveMQ)   基于三个浮点输入的java过滤器JTable?   Java OpenGL/LWJGL体素纹理   在SpringBoot java应用程序中,有没有一种方法可以通过不同的机器使用hostIP作为主机远程连接到redis服务器   java Struts 2 s:提交按钮语法以在映射中设置值   java源代码:setDomainEnv。windows 7中的cmd文件   缺少货币计算java的返回语句   JavaHibernate没有注意到从其他源进行的数据库更新   无法在OpenCV/Java中生成负矩阵   Java不做循环   java无法使用类对象写入文件ArrayList   jpa使用数组作为调用Java的存储过程的输入   java使用文件提供程序检索内容Uri失败   需要java程序来创建方法模板