常见问题

如何为OAuthLib启用日志记录?

支持OAuth 1和2的哪些部分?

看见 功能和平台

带有RSA-SHA1签名的OAuth 1表示“无法导入密码术”。我该怎么办?

使用rsa标志安装oauthlib或通过pip手动安装加密技术。

$ pip install oauthlib[rsa]
..or..
$ pip install cryptography

带有RSA-SHA1签名的OAuth 2 ServiceApplicationClient和OAuth 1表示“无法导入JWT”。我该怎么办?

使用signedToken标志安装oauthlib或使用pip手动安装pyjwt和密码术。

$ pip install oauthlib[signedtoken]
..or..
$ pip install pyjwt cryptography

ValueError是什么 Only unicode objects are escapable. Got one of type X. 卑鄙?

OAuthLib在任何地方都使用Unicode,在创建OAuth 1签名时,需要对许多参数进行百分比编码(也就是转义)。至少有一个参数无法编码。通常是因为 None 或者提供了非UTF-8编码的字符串。

ValueError是什么 Error trying to decode a non urlencoded string 卑鄙?

您正在尝试对未正确编码的响应进行解码,例如,包含非百分比编码字符,如 £ 。这可能是因为它已经被您的Web框架解码了。

如果您认为它包含应该免除此检查的字符,请打开一个问题并说明原因。

客户和消费者之间有什么区别?

无,它们都指的是代表用户从OAuth提供程序访问受保护资源的第三方。为了做到这一点,他们必须获得该用户的授权,这就是 Auth 在……里面 OAuth 代表着。

如何通过Google、Twitter和其他提供商使用OAuthLib?

大多数人将间接使用OAuthLib。客户会想要查看 requests-oauthlib

如何使用OAuthlib作为Django、FlaskWeb框架和其他Web框架的提供者?

提供程序可以在任何Web框架中实现。然而,他们中的一些人拥有现成的库来帮助集成:-Django django-oauth-toolkit -烧瓶 flask-oauthlib -金字塔 pyramid-oauthlib -瓶子 bottle-oauthlib

对于其他框架,请打开一个 GitHub issue 或打开 Gitter OAuthLib community 。如果您已经编写了支持您最喜欢的框架的OAuthLib包,请打开Pull请求以更新文档。

身份验证和授权之间有什么区别?

看见 difference

简而言之,OAuth 1和OAuth 2之间最大的区别是什么?

OAuth 2要简单得多,因为它需要使用TLS,而OAuth 1要求在没有TLS的情况下安全地工作。为了在没有TLS的情况下保持安全,OAuth 1需要对每个请求进行签名,这可能会很麻烦。

有些人认为OAuth 2比1更差,这是真的吗?

正确实现后,OAuth 2在很多方面都比OAuth 1更好。正确地做好它并不是一件容易的事,OAuthLib的目标是让它变得简单。