Python:OAuth库

时间:2009-11-03 10:14:01

标签: python oauth yahoo

oauth有一个完整的flegged python库吗?我没有找到任何处理oauth令牌过期后重新发行的事件(Yahoo OAuth flow上的第5步)。

那么最完整的是什么?我尝试了来自oauth.net的那个,它没有处理oauth_session_handle如果端点返回它就需要oauth规范说明(就像雅虎那样)。

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

6 个答案:

答案 0 :(得分:12)

我认为Leah Culver的python-oauth(你已经找到)是最好的起点,即使它还不完整。

Leah在github上有一个镜像,可以很容易地进行协作:http://github.com/leah/python-oauth/tree/master/oauth/

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

答案 1 :(得分:11)

就我而言,

Rauth是新的最佳答案。包裹requests库并且维护得很好。

答案 2 :(得分:4)

OAuth官方网站建议使用rauthoauthlib。引用他们关于 rauth

  

Max Countryman坚持认为,它被认为是最新的,经过单元测试的OAuth for Python实现。

关于 oauthlib

  

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

更新:2019年2月9日

OAuth recommended libs for Python中仍然提到了这两个库,但是在查看他们的Github页面时, oauthlib 的维护频率更高。

答案 3 :(得分:2)

GitHub查看Mike Knapp的图书馆。 简单,不需要安装。适用于Google App Engine。

答案 4 :(得分:2)

答案 5 :(得分:0)

再回答这个已有9年历史的问题。以下是OAuth 2.0和OpenID Connect的库以及用Python编写的示例实现。请注意,他们使用Authlete作为后端服务。

  1. authlete-python:适用于Python(GitHubPyPI)的库
  2. authlete-python-django:DjangoGitHubPyPI)的库
  3. django-oauth-server:授权服务器的示例实现
  4. django-resource-server:资源服务器的示例实现

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

现在,与OAuth 2.0和OpenID Connect相关的规范数量非常庞大,很少有成熟的实现。例如,在撰写本文时(2019年8月20日),certified OpenID Provider implementations that support Financial-grade API (FAPI)的数量仅为4。此外,支持基本OP,隐式OP,混合OP,配置的certified OpenID Provider implementations的数量。 OP,Dynamic OP和Form Post OP为5。(Authlete是两者中唯一包含的实现)

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

  1. RFC 7636支持(对于安全性很重要)
  2. OpenID Connect支持(或仅OAuth 2.0?)
  3. 金融级API(FAPI)支持,如果需要更高的安全性。有关详细技术信息,请参见Financial-grade API (FAPI), explained by an implementer