Python Flask token身份认证

首先安装依赖:

复制代码
pip install flask-jwt-extended

然后在主应用中(项目入口文件)加入以下代码:

python 复制代码
from flask import Flask
from flask_jwt_extended import JWTManager #引入依赖
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'focusInYou' #jwt密钥 可自定义
jwt = JWTManager(app) #实例化

user接口

python 复制代码
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]) #创建token
        session['user_info'] = user
        return 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)
相关推荐
Evand J2 分钟前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
用户03321266636715 分钟前
使用 Python 在 Excel 文档中添加水印
python·excel
高洁0121 分钟前
自然语言处理的技术演进与核心任务
人工智能·python·深度学习·机器学习·迁移学习
vipxieliang25 分钟前
Python 类型注解与 mypy:提升代码可维护性
python
skywalk81631 小时前
不用 SSH、不装数据库:我用 1 个 Python 脚本 + Git,把 15 个 AI Agent 串成了一条流水线
数据库·人工智能·python·ssh·集群
天天被压力1 小时前
【A股分钟级高频数据完全手册 #02】Python调用股票1分钟数据接口:Pro版最新分时取数与字段解析
java·人工智能·python
时间的拾荒人1 小时前
CMake 实战指南:从基础语法到静态库/动态库制作与链接
开发语言·c++·面试
天天被压力1 小时前
【A股分钟级高频数据完全手册 #01】Pro版接口体系总览与REST鉴权:42篇地图与从0接入
java·人工智能·python
xyouyuweizhu1 小时前
Java InetAddress 详解:从 IP 地址表示到主机名解析
java·开发语言·python
belldeep10 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis