用于OAuth认证的WSGI中间件
我用Flask搭建了一个非常简单的网页应用,现在我想给这个网站加个基本的登录功能(我不需要复杂的权限管理)。因为Flask本身不支持这种功能,所以我想找一个WSGI中间件来帮忙。这个网页应用大约只有10个人在用,他们都是Facebook的用户,所以我想用Facebook的OAuth接口来实现。
我快速浏览了一下wsgi.org上列出的WSGI中间件,发现有两点:可用的中间件要么使用起来很复杂,要么已经过时了。
我找到了一些包:
- wsgiauth -- 这个包有点老,最后更新是在2006年,我找不到任何在线文档。
- authkit -- 看起来不错,但不支持OAuth。
- barrel -- 似乎只支持
BASIC
和基于表单的认证,也有点过时(最新版本是2008年发布的)。 - webmodules -- 只支持
BASIC
认证。
根据这些信息,我觉得AuthKit是最有趣的选择。不过可惜的是,它不支持OAuth。我可能会尝试一下这个,但在我随便研究的时候,我也想看看有没有人有更好的解决方案。
3 个回答
1
如果你想让用户通过 Facebook 来登录或者授权,为什么不试试他们提供的 Python 开发工具包呢?这个工具包里有一个很方便的 OAuth 接口,你可以在这里找到它:https://github.com/facebook/python-sdk。
7
Flask有一个叫做OpenAuth的扩展,这个扩展是由Armin Ronacher(Flask的创作者)写的。它为Flask提供了对Open Auth 1.0的支持。
5
你可以看看 repoze.who,这是一个用于WSGI应用的认证框架,里面有很多插件可以使用,具体包括: