用于OAuth身份验证的WSGI中间件

时间:2011-01-10 16:14:27

标签: python oauth wsgi middleware flask

我使用Flask构建了一个非常小的Web应用程序。现在我想为网站添加非常基本的身份验证(我不需要授权)。由于Flask不支持auth& auth开箱即用,我想插入一个WSGI中间件来完成这项工作。该网络应用程序仅供大约10人使用,所有这些都在Facebook上。所以我想使用Facebook的OAuth界面。

我很快查看了the wsgi.org list of WSGI Middleware并发现了两件事:可用的中间件使用起来非常复杂,或者它已经过时了。

我找到了以下套餐:

  • wsgiauth - 已过时了。最后更新是2006年,我找不到任何在线文档
  • authkit - 看起来非常好,但不支持OAuth
  • barrel - 似乎只支持BASIC和基于表单的身份验证。它也有点过时了(最新版本是2008年)
  • webmodules - 仅支持BASIC auth

鉴于此列表,我会说AuthKit是最有趣的。唉,它不支持OAuth。我很可能会继续前进并试一试。但是,当我在四处乱涂时,我很想知道周围是否有人有更好的解决方案......

3 个答案:

答案 0 :(得分:7)

Flask的OpenAuth extensionArmin Ronacher(Flask的作者)撰写。它为Flask提供了对Open Auth 1.0的支持。

答案 1 :(得分:5)

您应该查看repoze.who,它是WSGI应用程序的身份验证框架,其插件可用于:

  • HTTP basic / digest
  • 通过HTML表单进行身份验证,并在Cookie中存储身份验证票据。
  • OpenID
  • OAuth
  • LDAP
  • 我还不知道......

答案 2 :(得分:2)

如果您希望针对Facebook授权客户,为什么不使用他们提供的python sdk,其中包含https://github.com/facebook/python-sdk中的oauth界面。