1.服务端

from flask import Flask, jsonify, request
import itsdangerous
ts = itsdangerous.TimedJSONWebSignatureSerializer("secret", expires_in=3600)app = Flask(__name__)@app.route('/login', methods=['POST'])
def login():username = request.form.get('username', None)password = request.form.get('password', None)if password != 'test':return jsonify({"msg": "Bad username or password"})access_token = ts.dumps({'wang': '123'}).decode()refresh_token = ts.dumps({'wang': '123'}).decode()ret = {"access_token":access_token,"refresh_token":refresh_token}return jsonify(ret)@app.route('/refresh')
def refresh():authorization = request.headers.get('Authorization')if authorization and authorization.startswith('Bearer '):token = authorization.strip()[7:]try:payload = ts.loads(token)except:payload = Noneif payload:access_token = ts.dumps({'wang': '123'}).decode()ret = {"access_token":access_token}return jsonify(ret)else:return {'message': 'Wrong refresh token.'}@app.route('/protected', methods=['GET'])
def protected():authorization = request.headers.get('Authorization')if authorization and authorization.startswith('Bearer '):token = authorization.strip()[7:]try:payload = ts.loads(token)except:payload = Noneif payload:return 'already login'else:return {'message': 'Wrong refresh token.'}if __name__ == '__main__':app.run(host="0.0.0.0",port=5000,debug=True)

2.客户端

import requests
url = "http://0.0.0.0:5000/login"
payload = {"username":"test","password":"test"
}
data = requests.post(url,payload)
data = data.json()url2 = "http://0.0.0.0:5000/refresh"
header = {"Authorization":"Bearer "+data["access_token"]
}
refresh = requests.get(url2,headers=header)url3 = "http://0.0.0.0:5000/protected"
header = {"Authorization":"Bearer "+data["access_token"]
}
protect = requests.get(url3,headers=header)

Itsdangerous应用相关推荐

  1. python的模块itsdangerous

    这个模块主要用来签名和序列化 使用场景: 一.给字符串添加签名: 发送方和接收方拥有相同的密钥--"secret-key",发送方使用密钥对发送内容进行签名,接收方使用相同的密钥对 ...

  2. python 密码学 模块_python学习-itsdangerous模块-黑马程序员技术交流社区

    博客链接地址:http://www.zhuyannan.top/itsdangerous-加密你的数据/ 如果你想向不可信的环境发送数据,但又担心数据被别人利用,就可以使用 itsdangerous来 ...

  3. python中itsdangerous模块

    使用itsdangerous生成临时身份令牌 准备工作: 安装pip install itsdangerous import itsdangeroussalt='sdaf'#加盐,指定一个盐值,别让别 ...

  4. Python Itsdangerous

    参考: http://bbs.itheima.com/forum.php?mod=viewthread&tid=420455 https://segmentfault.com/q/101000 ...

  5. 【ImportError: cannot import name ‘json‘ from ‘itsdangerous‘】

    遇到这种问题一般是falsk 和对应模块的版本不兼容导致. 解决思路: 升级falsk版本 pip install flask==2.0.2 降低模块的版本 itsdangerous==2.0.1

  6. go 实现解密python中的 itsdangerous

    应用的场景 有现成的python 项目 需要使用go 进行扩展! 代码实现 python通过itsdangerous 对数据进行加密 from itsdangerous import TimedJSO ...

  7. Flask使用itsdangerous生成令牌

    itsdangerous示例 (venv)$python manage.py shell >>> from manage import app >>> from i ...

  8. 服务化部署框架Paddle Serving

    服务化部署框架Paddle Serving 概述 常见的深度学习模型开发流程需要经过问题定义.数据准备.特征提取.建模.训练过程,以及最后一个环--将训练出来的模型部署应用到实际业务中.如图1所示,当 ...

  9. Paddle预训练模型应用工具PaddleHub

    Paddle预训练模型应用工具PaddleHub • 本文主要介绍如何使用飞桨预训练模型管理工具PaddleHub,快速体验模型以及实现迁移学习.建议使用GPU环境运行相关程序,可以在启动环境时,如下 ...

最新文章

  1. 正则表达式 – 语法
  2. Runtime.getRuntime().exec
  3. VTK:图像迭代器用法实战
  4. 2012-05-04 12:58 eclipse老是building workspace及自动更新问题,eclipse加速
  5. Android Crash分析工具arm-eabi-addr2line
  6. [新手必备]Python 基础入门必学知识点笔记
  7. scanner java重新输入_如何使用Scanner Java重复读取用户输入
  8. flutter SlideTransition实现平移动画
  9. SCCM 2012系列13 操作系统播发②
  10. python飞机大战怎么将图片保存_Python飞机大战完整素材包(字体音乐图片)
  11. Altium Designer10.1051图文安装教程
  12. 【最短路】【spfa】CDOJ1633 去年春恨却来时,落花人独立,微雨燕双飞
  13. html首页随机飘浮图片,jQuery 全屏随机漂浮图片广告
  14. es6字符串添加html标签,JavaScript_详解JavaScript ES6中的模板字符串,在 ES6 中引入了一种新的字符 - phpStudy...
  15. [转] MATLAB快捷键
  16. 【JZOJ B组】【JSOI2013】吃货JYY
  17. 飞塔防火墙×××之隧道分离 (Split Tunneling)
  18. Discourse 论坛激活邮件问题
  19. 红米3s android6.0,奇兔刷机全网首发红米3S (Redmi 3S) MIUI8 ROM 独家支持一键刷机
  20. C++类和对象介绍(筑基上篇)

热门文章

  1. mysql双击同步_求助,WINDOWS下MYSQL双机同步的问题
  2. 从C语言到C++的进阶之一些C基础上的增强用法(篇五)
  3. android:fillviewport=true 不起作用,无法在android模拟器中滚动
  4. 执行一次怎么会写入两次数据_Java进阶知识:一文详解缓存Redis的持久化机制,新手看完也会用
  5. Python使用TCP协议编写会聊天的小机器人
  6. mysql mod如何使用_mysql 操作详解
  7. mysql hive 安装 配置_hive 安装配置部署与测试
  8. 尤克里里怎么样_尤克里里入门简单教程
  9. linux启动有两个选择,RHEL5 用CentOS源升级,GRUB出现CentOS,RHEL两个启动项,选择哪一个?...
  10. 三维重构 c++_桐柏3d打印模型生产厂家【博通三维】-博通三维