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)
相关推荐
wljt6 分钟前
Linux 常用命令速查手册(Java开发版)
java·linux·python
WPG大大通10 分钟前
AIoT | 软件:Astra MCP边缘算力构建详解
经验分享·笔记·python·硬件架构·代码
国服第二切图仔20 分钟前
Rust开发实战之简单游戏开发(piston游戏引擎)
开发语言·rust·游戏引擎
ii_best27 分钟前
安卓/IOS工具开发基础教程:按键精灵一个简单的文字识别游戏验证
android·开发语言·游戏·ios·编辑器
波诺波28 分钟前
环境管理器
linux·前端·python
草莓熊Lotso30 分钟前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
诸葛思颖31 分钟前
把本地 Python 项目用 Git 进行版本控制并推送到 GitHub
git·python·github
诗句藏于尽头33 分钟前
电脑使用软件控制本机屏和外接屏失效问题及解决
开发语言
HelloRevit35 分钟前
快速入门 - 开始使用 Azure Digital Twins Explorer 中的示例场景
microsoft·flask·azure
测试老哥36 分钟前
自动化测试用例的编写和管理
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例