authlib-实现JavaScript对象签名和加密的python库

 

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 OAuth

app = 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 database
    profile = github.get('/user', token=token)
    return jsonify(profile)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值