打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
oauthlib-一款通用且完整的实现OAuth请求签名逻辑python库

  

OAuth通常看起来很复杂且难以实现。有一些著名的库可以处理OAuth请求,但是它们都具有以下一种或两种特性:

它们早于OAuth 1.0规范AKA RFC 5849。

它们早于OAuth 2.0规范AKA RFC 6749。

他们假定使用特定的HTTP请求库。

OAuthLib是一个框架,可在不假设特定HTTP请求对象或Web框架的情况下实现OAuth1或OAuth2的逻辑。使用它可以将OAuth客户端支持移植到您喜欢的HTTP库上,或将支持移植到您喜欢的Web框架上。如果您是此类库的维护者,请在OAuthLib之上编写一个薄薄的单板并以很少的努力获得OAuth支持。

支持哪些Web框架?

以下软件包使用OAuthLib提供了OAuth支持。

对于Django,有django-oauth-toolkit,其中包括Django REST框架支持。

对于Flask,有flask-oauthlib和Flask-Dance。

对于Pyramid,有pyramid-oauthlib。

对于Bottle有bottle-oauthlib。

如果您编写了支持您喜欢的框架的OAuthLib软件包,请更新文档。

FAQ

1.如何将OAuthlib用作Django,Flask和其他Web框架的提供程序?

提供程序可以在任何Web框架中实现。但是,其中一些库具有立即可用的库来帮助集成:具体参考上方的内容。

对于其他框架,请通过打开GitHub问题或在Gitter OAuthLib社区上进行联系。

2.身份认证和授权有什么区别?

认证

身份验证可验证您的身份。例如,您可以使用ssh客户端登录到Unix服务器,或者使用POP3和SMTP客户端访问电子邮件服务器。通常,PAM(可插拔身份验证模块)用作高级应用程序编程接口(API)中的低级身份验证方案,从而允许依赖于身份验证的程序独立于基础身份验证方案编写。

授权

授权会验证您有权执行的操作。例如,允许您通过ssh客户端登录Unix服务器,但无权访问浏览器/ data2或任何其他文件系统。成功进行身份验证后,将进行授权。可以在文件系统级别或使用各种应用程序级别的配置选项(例如chroot(2))来控制授权。

通常,连接尝试必须由系统进行身份验证和授权。通过这两个因素,您可以轻松找出为什么接受或拒绝连接尝试的原因。  

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

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

获取模块

标准安装

标准安装包含OAuthLib的核心功能,可以通过下载源文件手动安装:OAuthLib模块下载

为了降低其要求,标准安装中不包括RSA公钥加密所需的Python软件包。

带有RSA的附加功能

为了支持使用RSA公钥加密的功能,还必须安装PyCA的 加密软件包和PyJWT软件包。这可以通过安装OAuthLib的核心功能以及“ signedtoken”附加功能来完成。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python武器库
Flask 入门指南
8个Python工具,用来做应用程序开发真的很好用
Python 重复造轮子/造轮子找模子,你都应该熟读该文
500个Python模块(库)的详细分类介绍
7 个值得收藏的 Python 身份验证库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服