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)
相关推荐
寂寞旅行3 小时前
向量数据库Milvus的使用
数据库·milvus
闻哥3 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名4 小时前
aiPbMgrSendAck
java·网络·数据库
CeshirenTester4 小时前
9B 上端侧:多模态实时对话,难点其实在“流”
开发语言·人工智能·python·prompt·测试用例
Starry_hello world4 小时前
Python (2)
python
ID_180079054734 小时前
Python爬取京东商品库存数据与价格监控
jvm·python·oracle
-To be number.wan5 小时前
Python数据分析:时间序列数据分析
开发语言·python·数据分析
Faker66363aaa6 小时前
YOLO13-C3K2-AdditiveBlock:水果质量智能检测系统_3
python
2401_828890646 小时前
实现扩散模型 Stable Diffusion - MNIST 数据集
人工智能·python·深度学习·stable diffusion
面向对象World7 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库