Python Flask token身份认证
首先安装依赖:
pip install flask-jwt-extended
然后在主应用中(项目入口文件)加入以下代码:
from flask import Flask
from flask_jwt_extended import JWTManager #引入依赖
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'focusInYou' #jwt密钥 可自定义
jwt = JWTManager(app) #实例化
user接口
from flask import Blueprint,request, session
from flask_jwt_extended import create_access_token, jwt_required ,get_jwt_identity #引入依赖
user_bp = Blueprint('user', __name__, url_prefix='/user') #注册蓝图
@user_bp.route('/login', methods=['POST'])
def user_login():reqJSONData = request.get_json(silent=True) #获取参数if not reqJSONData: return r(code=401, msg='注册失败, 请求参数为空')username = reqJSONData.get('username')password = reqJSONData.get('password')if not all([username, password]):return r(code=401, msg='登录, 缺少请求参数')#user = 去你的数据库里查出对应账号密码的用户信息赋值给user# 4. 用户不存在, 直接返回if not user:return r(code=404, msg='用户名或密码错误')else:access_token = create_access_token(identity=user[0]) #创建tokensession['user_info'] = userreturn r(msg='登录成功', data={"token":access_token})
@user_bp.route('/info', methods=['get'])
@jwt_required() #修饰器,表示请求接口需要在请求头内加入 Authorization: Bearer xxxx
def user_info():userInfo = get_jwt_identity()return r(msg='',data=userInfo)
相关文章:
Python Flask token身份认证
首先安装依赖: pip install flask-jwt-extended 然后在主应用中(项目入口文件)加入以下代码: from flask import Flask from flask_jwt_extended import JWTManager #引入依赖 app Flask(__name__) app.config[JWT_SECRET_KEY…...
docker安装rabbitMQ
目录 1、拉取镜像 2、构造镜像 3、开启插件 4、开启安全组 5、访问 ui界面访问不到解决步骤 1、拉取镜像 docker pull rabbitmq 这里拉取的是最新镜像,若要指定版本可在后加上版本号即可;比如 docker pull rabbitmq:3.7.14 2、构造镜像 方式一:交…...
PDF如何转ppt?PDF转ppt的方法
PDF是一种广泛应用于文档传输和存储的格式,然而,在某些情况下,我们可能需要将PDF文件转换为PPT,以便更加灵活地编辑和展示内容。那么,PDF如何转ppt呢?在本文中,我们将介绍几种常用的方法和工具,…...
设计模式(8)外观模式
一、 1、使用背景:降低访问复杂系统的内部子系统时的复杂度,简化客户端之间的接口。 2、定义: 为子系统中的一组接口定义一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。完美地体现…...
Django(7)-项目实战-发布会管理
登录功能 模板页面 sign/templates/index.html <!DOCTYPE html> <html> <head><title>Login Page</title> </head> <body><h1>发布会管理</h1><form action"/login/" method"post"><la…...
Hbase-技术文档-java.net.UnknownHostException: 不知道这样的主机。 (e64682f1b276)
问题描述: 在使用spring-boot操作habse的时候,在对habse进行操作的时候出现这个问题。。 报错信息如下: 第一段报错: 第二段报错: java.net.UnknownHostException: e64682f1b276 问题定位解读: 错误 ja…...
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
最近在windows下面用cmake编译OpenCV的项目代码,但是一直碰到找不到mutex的问题,百思不得其解, Executing task: g -g -o bin/debug.exe src/main.cppC:\MinGW\lib\opencv\build\include/opencv2/core/utility.hpp:697:14: error: recursive_mutex in namespace st…...
华为质量管理:从产品质量到用户体验,Kano模型成为新方向
目录 前言 华为质量管理的四个阶段 基于 IPD 如何做质量管理呢? CSDN相关课程 作者简介 前言 今天继续来谈谈华为流程体系中的质量管理过程。 通常来说质量具体是指产品的质量,也就是产品的使用价值及其属性。 产品再细分的话可以分为三个层次&a…...
正则表达式学习笔记
正则表达式学习笔记 常用正则表达式 1、匹配字母 Pattern patternPattern.compile("[a-zA-Z]"); 2、匹配数字 Pattern patternPattern.compile("[0-9]"); 3、匹配字母和数字 Pattern patternPattern.compile("([0-9])|([a-zA-Z])")…...
构建数据可视化(基于Echarts,python)
构建数据可视化(基于Echarts,python) 本文目录: 一、写在前面的题外话 二、数据可视化概念 三、用Python matplotlib库绘制数据可视化图 四、基于Echarts构建大数据可视化 4.1、安装echarts.js 4.2、数据可视化折线图制作 4.2.1、基础折线图 4.2…...
【2023最新版】R安装(直接+Anaconda)及使用(Pycharm配置R)教程
目录 一、R语言 1. R官网 2. R介绍 二、直接安装R 1. 下载 2. 安装 三、Pycharm使用R 1. 安装Pycharm 2. R Language for IntelliJ插件 3. R设置 报错 4. R软件包 安装 加载 查看已安装的包 四、使用Anaconda创建R语言虚拟环境 1. 安装Anaconda 2. 创建R语言…...
opencv 案例实战02-停车场车牌识别SVM模型训练及验证
1. 整个识别的流程图: 2. 车牌定位中分割流程图: 三、车牌识别中字符分割流程图: 1.准备数据集 下载车牌相关字符样本用于训练和测试,本文使用14个汉字样本和34个数字跟字母样本,每个字符样本数为40,样本尺…...
Vue实例挂载的过程
一、思考 我们都听过知其然知其所以然这句话 那么不知道大家是否思考过new Vue()这个过程中究竟做了些什么? 过程中是如何完成数据的绑定,又是如何将数据渲染到视图的等等 二、分析 首先找到vue的构造函数 源码位置:src\core\instance\…...
dvwa xss通关
反射型XSS通关 low难度 选择难度: 直接用下面JS代码尝试: <script>alert(/xss/)</script>通关成功: medium难度 直接下面代码尝试后失败 <script>alert(/xss/)</script>发现这段代码直接被输出: 尝试…...
AD如何进行汉化
AD如何进行汉化 通过安装好AD后,默认都是英文界面模式,如果想汉化为中文模式,需要点击“DXP”->“参数选择”,打开界面如下: 然后将上图“本地化”下面的方框勾选上,点击“应用”,“确定”…...
【JUC基础】JUC入门基础
目录 什么是JUC线程和进程锁传统的 synchronizedLock 锁Synchronized 与 Lock 的区别 生产者和消费者问题Synchronized 版Lock版Condition 的优势:精准通知和唤醒线程 8 锁现象问题1:两个同步方法,先执行发短信还是打电话?问题2&a…...
自然语言处理: 第十章GPT的API使用
理论基础 现在的以GPT为首的生成类模型,它拥有对话的能力,它会根据你输入的暗示(prompt)或者指令(instruct)生成对应的回答。所以,不同的输入会导致不同的输出(其实由于chatgpt最终生成的答案是beam_search 以及随机采样的机制,所…...
docker使用harbor进行镜像仓库管理演示以及部分报错解决
目录 一.安装harbor和docker-compose 1.下载 2.将该文件修改为这样,修改好自己的hostname和port,后文的用户和密码可以不改也可以改,用于登录 3.安装 二.修改daemon.json文件和/etc/hosts文件 三.使用powershell作windows端域名映射 四…...
【精算研究01/10】 计量经济学的性质和范围
一、说明 计量经济学是使用统计方法来发展理论或测试经济学或金融学中的现有假设。计量经济学依赖于回归模型和零假设检验等技术。计量经济学也可以用来预测未来的经济或金融趋势。 图片来源:https://marketbusinessnews.com 二、 计量经济之简介 计量经济学是对经济…...
【python知识】用 Tkinter实现“剪刀-石头-布”和“弹球游戏 ”
一、提要 Tkinter是一个Python内置模块,它提供了一个简单易用的界面来创建GUI。 在实现一些动态的画面、如游戏还是需要一些创新性思维的。在本文中,我们将使用 Tkinter 探索 Python GUI 编程。我们将介绍 Tkinter 的基础知识,并演示如何使用…...
合宙 MCP 工具:TRAE AI 自然语言控制 Luatools 实操
合宙MCP工具基于 MCP 协议,实现 AI 大模型与 Luatools 的无缝连接,开发者通过简单 JSON 配置,就能在 TRAE 编辑器用自然语言操控 Luatools 完成固件下载、日志获取等操作,告别手动烧录的繁琐。 核心能力: 固件自动烧录…...
PhysX帧分配器:一帧一擦的高效艺术
写满就擦,擦完再写,永不停歇引子:数学老师的白板 还记得高中数学课吗? 老师走进教室,面前是一块干干净净的白板。他开始讲解——写公式、画图形、列步骤,白板渐渐被填满。下课铃响,老师拿起板擦…...
在WSL2 Ubuntu 22.04上搞定RK3568 SDK编译:我遇到的8个坑和填坑方法
在WSL2 Ubuntu 22.04上搞定RK3568 SDK编译:我遇到的8个坑和填坑方法 作为一名长期在Windows环境下工作的嵌入式开发者,第一次尝试在WSL2中编译RK3568 SDK的经历简直像是一场噩梦。从环境配置到最终构建成功,我踩遍了几乎所有可能的坑。这篇文…...
避坑指南:UR5e机器人SpeedL模式下的笛卡尔空间控制,如何避免奇异点和超限?
UR5e机器人SpeedL模式避坑实战:笛卡尔空间控制的三大安全策略 实验室里,机械臂突然发出刺耳的警报声——这可能是每个UR5e初学者都经历过的噩梦。当你在笛卡尔空间用SpeedL指令控制机器人画复杂轨迹时,关节超限、奇异点问题和自碰撞就像三个隐…...
Vue3项目救星:我是如何用Cursor的‘项目规则’功能,让团队新人一天上手的
Vue3团队协作革命:用Cursor项目规则实现代码规范的自动化治理 当新成员加入你的Vue3项目时,是否经历过这样的场景?新人提交的代码里混杂着选项式API和组合式API,路由命名忽而短横线忽而大驼峰,样式文件里散落着各种魔…...
从GTS-800到GTS-400:手把手教你移植C#点胶机程序到不同固高控制卡
从GTS-800到GTS-400:工业点胶系统迁移实战指南 当生产线上的点胶机控制卡需要从GTS-800更换为GTS-400时,许多工程师会发现"使用方法类似"这个说法背后隐藏着大量细节差异。去年我们团队完成了一个医疗设备点胶系统的迁移项目,原计划…...
5分钟搞定:用OpenAI Function Calling自动生成Python函数(附Gmail API实战代码)
5分钟实战:用OpenAI Function Calling生成Gmail自动化脚本 每次对接Gmail API都要翻文档写重复代码?试试这个方案——用自然语言描述需求,让AI直接生成可运行的生产级代码。下面这段完整代码就是AI生成的成果,包含错误处理、类型…...
Qt实战:用QCustomPlot的QCPColorMap绘制声呐/热力图,附完整代码与色条(QCPColorScale)美化技巧
Qt实战:用QCustomPlot实现专业级声呐热力图可视化 第一次在项目中尝试用QCustomPlot绘制声呐数据时,我被它强大的性能震撼了——5000100的数据矩阵渲染仅需200毫秒,而Matplotlib处理同样规模的数据需要近3秒。这个发现让我彻底放弃了Python方…...
解锁自定义键盘体验:用Vial-QMK打造个性化配置指南
解锁自定义键盘体验:用Vial-QMK打造个性化配置指南 【免费下载链接】vial-qmk QMK fork with Vial-specific features. 项目地址: https://gitcode.com/gh_mirrors/vi/vial-qmk 核心价值:为什么选择Vial-QMK定制键盘? 在机械键盘的世…...
Dual-Tree Agent RAG:可控、可解释、可验证
从文本检索到方法推理的跃迁 传统RAG系统将文档切分为平面文本块,通过向量相似度检索来增强大模型生成。这种模式在简单事实问答中表现良好,却难以应对需要全局结构理解、跨章节整合和方法论复用的复杂创新任务。现有改进方案如RAPTOR(层次摘…...
