【问题标题】:openID in wsgi with Python 3wsgi中的openID与Python 3
【发布时间】:2011-08-05 03:20:24
【问题描述】:

我以前从未做过身份验证工作,但希望能够通过 openID 跟踪和验证用户。我看到了几个允许使用 WSGI 进行 openID 身份验证的模块,但都是旧的,没有提到 python3,所以我猜它们不起作用。

我想要一些关于如何在 WSGI 和 python3 中处理/验证 openID 的建议。一个简单的实现将不胜感激。

【问题讨论】:

  • openid2rp 应该在 python3 上工作,但它没有,它抱怨无法导入 htmllib(在 3.0 中已删除)。目前看起来确实没有 Py3k openid 库。 :-( (顺便说一句:这就是你在 2.x 中使用不推荐使用的模块所得到的)

标签: python openid python-3.x mod-wsgi wsgi


【解决方案1】:

关于这个答案的两个警告:

  • 我知道你已经精通你的框架、urllib 和它的朋友,实现它仍然需要一些时间。这不是微不足道的。

  • openid2rp 代码看起来并不那么好,嗯,准备好了。

不过如此。最新版本的openid2rp 可以用2to3 翻译以在Python 3 中工作。您需要修复一些小问题。

包含的示例代码不起作用,但您可以将其用作模板来编写您的应用程序。如果您注意字节与字符串,那么获得有效的 OpenID 登录应该需要不到两年的时间。 (:

我已经设法通过这种方式将它翻译成 cherrypy。虽然这不是您想要的,但它可能是一个有用的指南:http://paste.ubuntu.com/699338/

例如,运行2to3后仍然存在这种代码:

- mac_key = base64.decodestring(session['mac_key'])
+ mac_key = base64.b64decode(session['mac_key'].encode())

您将在编写实际登录代码时看到这些内容。

这是我的__init__.py。请注意,我尚未使用的方法仍然存在错误! http://paste.ubuntu.com/699354/

【讨论】:

    猜你喜欢
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2014-02-18
    相关资源
    最近更新 更多