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)
相关推荐
彭于晏Yan2 分钟前
Springboot实现连接多个ElasticSearch数据库
数据库·spring boot·elasticsearch
龙腾AI白云7 分钟前
数据可视化实战:用AI工具制作专业数据分析图表
深度学习·数据分析·django
qq_380651338 分钟前
xu#True
python
DeepModel11 分钟前
【概率分布】均匀分布的原理、推导与Python实现
python·算法·概率论
light blue bird14 分钟前
MES/ERP大数据报表条件索引查询组件
数据库·.net·winform·t-sql·大数据报表
wmfglpz8814 分钟前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
m0_5981772314 分钟前
MYSQL order by , group by练习
数据库·mysql
zzb158017 分钟前
Agent学习-Reflection框架
java·人工智能·python·学习·ai
2301_7644413318 分钟前
使用python实现脉冲神经网络,用于分类任务
python·神经网络·分类
TDengine (老段)23 分钟前
TDengine IDMP 组态面板 —— 总体介绍
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据