16

是否有用于 oauth 的完整的 python 库?我还没有找到任何处理 oauth 令牌过期后重新颁发的方法(Yahoo OAuth 流程中的第 5 步)。

那么什么是最完整的呢?我尝试了来自oauth.netoauth_session_handle的那个,如果端点返回它(就像 yahoo 一样),它不处理oauth 规范所说的那个是必需的。

那么,我应该使用什么库?它们都是不完整的,我必须自己做吗?

4

6 回答 6

12

我认为 Leah Culver 的python-oauth(您已经找到)是最好的起点,尽管它并不完整。

Leah 在 github 上有一面镜子,可以轻松协作:http: //github.com/leah/python-oauth/tree/master/oauth/

更新:就目前而言,看起来 SimpleGeo 的python-oauth2是最好的起点。

于 2009-11-03T10:28:23.080 回答
11

就我而言,劳斯是新的最佳答案。包装请求库,并且维护良好。

于 2013-04-23T22:27:09.387 回答
4

OAuth官网推荐rauthoauthlib。引用他们关于rauth的内容:

Max Countryman 维护 rauth,它被认为是 Python 的 OAuth 的最新且经过单元测试的实现。

关于oauthlib

另一个很棒的库是 OAuthlib,它实现了最新的 RFC,包括客户端和服务器。

更新:2019 年 2 月 9 日

OAuth 推荐的 Python库中仍然提到了这两个库,但是查看他们的 Github 页面,oauthlib得到了更频繁的维护。

于 2014-05-08T13:15:14.413 回答
3

在GitHub 上查看 Mike Knapp 的库。美观又简单,无需安装。并适用于 Google App Engine。

于 2011-03-25T11:50:10.930 回答
2

使用 Kenneth Reitz 的真棒请求库以及从http://docs.python-requests.org/en/latest/community/out-there/链接的requests-oauth插件

于 2012-10-10T17:30:30.627 回答
0

对这个 9 岁的问题的另一个答案。以下是用于 OAuth 2.0 和OpenID Connect的库以及用 Python 编写的示例实现。请注意,他们使用Authlete作为后端服务。

  1. authlete-python : Python 库 ( GitHub , PyPI )
  2. authlete-python-django:Django库(GitHubPyPI
  3. django-oauth-server : 授权服务器的示例实现
  4. django-resource-server : 资源服务器的示例实现

该问题于 2009 年发布。从那时起,已经制定了许多重要的规范。以下是一些示例。

现在,与 OAuth 2.0 和 OpenID Connect 相关的规范数量庞大,成熟的实现很少见。例如,在撰写本文时(2019 年 8 月 20 日),支持金融级 API (FAPI)的认证 OpenID Provider 实现数量只有 4 个。此外,支持 Basic OP的认证 OpenID Provider 实现数量, Implicit OP、Hybrid OP、Config OP、Dynamic OP 和 Form Post OP 为 5。(Authlete 是唯一包含在两者中的实现)

以下是 OAuth 2.0 实施的一些注意事项:

  1. RFC 7636 支持(对安全很重要)
  2. OpenID Connect 支持(或者只是 OAuth 2.0?)
  3. 金融级 API (FAPI) 支持,如果您需要更高的安全性。有关技术细节,请参阅由实施者解释的金融级 API (FAPI) ” 。
于 2019-08-20T08:34:49.247 回答