Django JWT配置使用

settings.py中配置

python 复制代码
####################################JWT KEY##################################

JWT_KEY = '%*5xpP%2xL'
####################################################################

utils.py中引用

python 复制代码
import jwt
from django.conf import settings


def encode_jwt(payload):

    string = jwt.encode(payload=payload, key=settings.JWT_KEY)
    return string

def decode_jwt(jwt_string):
    try:
        payload = jwt.decode(jwt=jwt_string, key=settings.JWT_KEY, algorithms='HS256')
        return payload
    except Exception as e:
        return False

视图函数中

python 复制代码
			user_profile = UserProfile.objects.get(username=username)
            payload = {
                'id': user_profile.pk,
                'username': username
            }
            token = encode_jwt(payload)

验证时

python 复制代码
    	jwt_decode_result = decode_jwt(request.headers.get('authorization'))
        if not jwt_decode_result:
            context = {
                'code': 30007,
                'error': '获取的地址用户并非当前用户。'
            }
            return JsonResponse(context)
相关推荐
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue在线考试系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
2501_944452234 小时前
字数统计 Cordova 与 OpenHarmony 混合开发实战
python
骚戴4 小时前
2025 Python AI 实战:零基础调用 LLM API 开发指南
人工智能·python·大模型·llm·api·ai gateway
kobe_OKOK_4 小时前
tdeinge REST API 客户端
python·缓存·django
io_T_T5 小时前
Python os库 os.walk使用(详细教程、带实践)
python
ejjdhdjdjdjdjjsl5 小时前
JSON序列化与反序列化实战指南
数据库·microsoft·c#
CC.GG5 小时前
【C++】STL容器----unordered_map和unordered_set的使用
java·数据库·c++
TonyLee0176 小时前
使用argparse模块以及shell脚本
python
编程小Y6 小时前
如何优化MySQL的查询性能?
数据库·mysql
用户47949283569156 小时前
性能提升 40 倍!实战 PostgreSQL FDW 解决微服务跨库查询难题
数据库·后端