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)
相关推荐
eqwaak02 分钟前
PyTorch入门:10分钟搭建首个神经网络
开发语言·人工智能·pytorch·python
Mr_pyx3 分钟前
CompletableFuture 使用全攻略:从异步编程到异常处理
linux·前端·python
纤纡.4 分钟前
解锁 Python 实用编程技巧:线程、视觉识别、正则匹配与装饰器实战
开发语言·python·深度学习·opencv
WL_Aurora6 分钟前
如何将 Jupyter Notebook (.ipynb) 文件转换为 Python (.py) 文件
python·jupyter
摇滚侠6 分钟前
Oracle 标准结构 一个项目 一个用户 一个表空间
数据库·oracle
treacle田8 分钟前
达梦数据库-数据库存储加密01-记录总结
数据库·达梦数据库存储加密
小范馆9 分钟前
文档并生成知识库
python
时空自由民.9 分钟前
嵌入式学习-构建系统(图形化IDE/Kconfig/手动makefile Cmake)
数据库·ide·单片机·学习
qq_2837200513 分钟前
Python3 模块精讲|python-docx 万字实战:全自动读写 Word 文档,办公效率直接翻倍
python·自动化·word
yuanpan14 分钟前
Python Pandas 库入门:介绍与基本使用教程
开发语言·python·pandas