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)
相关推荐
无责任此方_修行中几秒前
MkDocs宫斗事件:开源项目控制权争夺与技术社区分裂
python·程序员
lagrahhn1 分钟前
python面向对象中__new__和__init__区别
后端·python·程序员
Yvonne爱编码6 分钟前
数据库---Day3 数据类型
数据库
风舞雪凌月6 分钟前
【趣谈】移动系统和桌面系统编程语言思考
java·c语言·c++·python·学习·objective-c·swift
羑悻的小杀马特7 分钟前
30 分钟零基础搭建 Home Assistant,解锁全屋智能新境界
数据库·人工智能
黑剑客与剑8 分钟前
一款使用ai来反编译pyc文件的工具 (支持python3.13)
人工智能·python·反编译·pyc
Thomas.Sir10 分钟前
第五章:RAG知识库开发之【利用RAG知识库实现智能AI系统:从零构建企业级智能问答应用】
人工智能·python·vue·状态模式·fastapi·智能
gc_229910 分钟前
学习python调用pymupdf库将pdf文件转换为图片的基本用法
python·pymupdf
皙然16 分钟前
深入理解 MySQL 事务:从基础到实战,一篇吃透
数据库·mysql
我科绝伦(Huanhuan Zhou)17 分钟前
MySQL数据库备份管理系统新增备份任务巡检功能
运维·数据库·mysql