authlib是构建OAuth和OpenID Connect服务器的终极Python库。包括JWS,JWK,JWA,JWT。

Authlib与Python2.7 +和Python3.6 +兼容。

Authlib v1.0仅支持Python 3.6+。

特点

通用RFC

Authlib提供RFC的通用实现,包括:

  • RFC5849:OAuth 1.0协议

  • RFC6749:OAuth 2.0授权框架

  • RFC7519:JSON Web令牌

  • OIDC:OpenID Connect 1.0

框架整合

客户端和服务器的各种内置高级框架集成,旨在创建无缝体验。

  • Flask OAuth 1.0 / 2.0客户端和提供程序

  • Django OAuth 1.0 / 2.0客户端和提供程序

  • 请求OAuth 1.0 / 2.0会话

  • HTTPX OAuth 1.0 / 2.0客户端

  • Starlette OAuth 1.0 / 2.0客户端

  • FastAPI OAuth 1.0 / 2.0客户端

登录密码

由Loginpass提供支持的各种社交网络服务连接:

  • 具有OpenID Connect和服务帐户的Google。

  • Twitter OAuth 1连接

  • Dropbox,Reddit,GitHub,Facebook等。

  • Gitlab及其企业OAuth。

  • StackOverflow及其相关服务。

​示例

以下是个Flask OAuth客户端的简单概述:

from flask import Flask, jsonify
from authlib.integrations.flask_client import OAuthapp = Flask(__name__)
oauth = OAuth(app)
github = oauth.register('github', {...})@app.route('/login')
def login():redirect_uri = url_for('authorize', _external=True)return github.authorize_redirect(redirect_uri)@app.route('/authorize')
def authorize():token = github.authorize_access_token()# you can save the token into databaseprofile = github.get('/user', token=token)return jsonify(profile)

authlib-实现JavaScript对象签名和加密的python库相关推荐

  1. JOSE (Javascript对象签名和加密)框架介绍

    JOSE是一个框架,旨在提供一种在各方之间安全地转移声明(如授权信息)的方法.JOSE框架提供了一系列规范来实现此目的.它是由一组规范构成: JSON Web Token (JWT):JSON Web ...

  2. java.security 框架之签名、加密、摘要及证书

      和第三方系统对接时,需要对隐私数据进行加密,对请求报文进行签名等.加密算法分为单向加密.对称加密.非对称加密等,其对应的算法也各式各样.Java 提供了统一的框架(java.security.*) ...

  3. 如何获取HTML元素对应JavaScript对象?

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  4. JavaScript对象,方括号和算法

    by Dmitri Grabov 德米特里·格拉波夫(Dmitri Grabov) JavaScript对象,方括号和算法 (JavaScript Objects, Square Brackets a ...

  5. 我对javascript对象的理解

    前言 JavaScript这门语言除了基本类型都是对象,可以说JavaScript核心就是对象,因此理解JavaScript对象及其种种特性至关重要,这是内功.本文介绍了我对es5对象,原型, 原型链 ...

  6. 《JavaScript启示录》——1.21 JavaScript对象和Object()对象

    本节书摘来自异步社区<JavaScript启示录>一书中的第1章,第1.21节,作者:[美]Cody Lindley著,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  7. 《JavaScript启示录》——第1章 JavaScript对象 1.1创建对象

    本节书摘来自异步社区<JavaScript启示录>一书中的第1章,第1.1节,作者:[美]Cody Lindley著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 如何通过其值获取JavaScript对象中的键?

    本文翻译自:How to get a key in a JavaScript object by its value? I have a quite simple JavaScript object, ...

  9. 如何从JavaScript对象中删除项目[重复]

    本文翻译自:How to remove item from a JavaScript object [duplicate] Possible Duplicate: 可能重复: How to remov ...

最新文章

  1. 程序员看了都会笑的20个瞬间...
  2. Web Intents:Google的内部WebApp互联机制
  3. w3school-html教程笔记-1-20140227
  4. Python这门语言为什么适合初学者?88.7%的小白听了会感谢选择它
  5. 1.确保容器中的对象拷贝正确而高效
  6. java array to string_数组到字符串转换(Array to string conversion)
  7. C#怎么测试静态方法?我给出了2种方案
  8. Sharepoin学习笔记—架构系列—07nSharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2
  9. 波波老师: 解决微服务的数据一致性分发问题?
  10. OpenShift 4 - 通过 REST API 操作 OpenShift
  11. java.nio.file中的Paths类
  12. Java 防止 SQL 注入工具类
  13. 冰点还原8.57 官方中文版下载
  14. vb UBound 数据上界
  15. 惠普暗影精灵键盘灯怎么开
  16. 官宣!清华副校长薛其坤将任南方科技大学校长
  17. 软考-嵌入式系统设计师-笔记:信息化和知识产权基础知识
  18. 找2021考研资料?这些超强资源网站必须知道!
  19. Linux软件包管理和系统网络3
  20. 数据分析/运营——重要业务指标小结

热门文章

  1. Redis05:Redis的高级特性:expire 生存时间、pipeline 管道、info命令、Redis的持久化、Redis 的安全策略、Redis监控命令-monitor
  2. gcc编译选项-fPIC
  3. app 图标右上方消息计数
  4. mysql 删除的sql语句怎么写_SQL 删除语句怎么写呢?
  5. idea替换的快捷键
  6. idea查找替换快捷键,批量处理
  7. DDIA读书笔记 6 数据分区
  8. 港科夜闻|叶玉如校长出席香港创科 砥砺前行主题论坛
  9. vue 打包路由报错_急急急急,vue打包部署后,路由无法跳转
  10. HTTPS 加密原理