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)
相关推荐
硅基喵4 分钟前
Python 入门:从“其他语言”到 Pythonic 思维的完整迁移手册
python
huabiangaozhi7 分钟前
修改表字段属性,SQL总结
java·数据库·sql
liu****20 分钟前
LangChain-AI应用开发框架(二)
人工智能·python·langchain·大模型部署
IvorySQL22 分钟前
第 6 次执行后,PostgreSQL 执行计划为何突变?
数据库·postgresql·开源
小文大数据27 分钟前
python实现HTML转PDF
java·前端·数据库
羊小蜜.27 分钟前
Mysql 03: 连接查询全解——内连接、外连接与复合条件查询
数据库·mysql·算法·连接查询
IvorySQL32 分钟前
PostgreSQL 技术日报 (4月2日)|社区工具更新与内核补丁讨论速递
数据库·postgresql·开源
未来转换36 分钟前
OpenClaw 命令大全以及使用指南
python·ai·openclaw
polaris06301 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
Ulyanov1 小时前
Pymunk 2D物理游戏开发教程系列 第一篇:物理引擎入门篇 -《弹球大作战》
python·pygame·雷达电子战·仿真引擎