常见问题
如何为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请求以更新文档。
简而言之,OAuth 1和OAuth 2之间最大的区别是什么?
OAuth 2要简单得多,因为它需要使用TLS,而OAuth 1要求在没有TLS的情况下安全地工作。为了在没有TLS的情况下保持安全,OAuth 1需要对每个请求进行签名,这可能会很麻烦。
有些人认为OAuth 2比1更差,这是真的吗?
正确实现后,OAuth 2在很多方面都比OAuth 1更好。正确地做好它并不是一件容易的事,OAuthLib的目标是让它变得简单。