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)
相关推荐
vvilkim几秒前
MySQL视图:虚拟表的强大功能与应用实践
数据库·mysql
tangjunjun-owen3 分钟前
Milvus 2.4 使用详解:从零构建向量数据库并实现搜索功能(Python 实战)
数据库·python·milvus·rag
GalenZhang8884 分钟前
langchain4j中使用milvus向量数据库做RAG增加索引
数据库·milvus
闪电麦坤9518 分钟前
思路解析:第一性原理解 SQL
服务器·数据库·sql
CryptoRzz25 分钟前
印度尼西亚数据源对接技术指南
开发语言·python·websocket·金融·区块链
戌崂石33 分钟前
最优化方法Python计算:有约束优化应用——线性可分问题支持向量机
python·机器学习·支持向量机·最优化方法
珹洺1 小时前
数据库系统概论(八)SQL单表查询语言超详细讲解(附带例题表格对比带你一步步掌握)
数据库·sql
斌果^O^1 小时前
mysql常用方法
数据库·mysql
man20171 小时前
基于ssm+mysql的高校设备管理系统(含LW+PPT+源码+系统演示视频+安装说明)
数据库·mysql·ssm
灏瀚星空2 小时前
基于Python的量化交易实盘部署与风险管理指南
开发语言·python