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)
相关推荐
V1ncent Chen2 分钟前
从零学SQL 02 MySQL架构介绍
数据库·sql·mysql·架构·数据分析
大母猴啃编程3 分钟前
MySQL内置函数
数据库·sql·mysql·adb
小鸡吃米…5 分钟前
自然语言处理 ——Python 实现
人工智能·python·自然语言处理
Alex艾力的IT数字空间5 分钟前
OCR 原理:从像素到文本的智能转换
数据结构·人工智能·python·神经网络·算法·cnn·ocr
@小匠8 分钟前
Spring-Gateway-理论知识总结/常问面试题
数据库·spring·gateway
逍遥德8 分钟前
postgresql数据库连接问题
数据库·postgresql
此方ls10 分钟前
Redis源码研读八——listpack.c 1080-1528行
c语言·数据库·redis
隔壁小邓16 分钟前
TIDB分布式数据库
数据库·分布式·tidb
前端付豪17 分钟前
拍照识题 OCR
前端·后端·python
wellc17 分钟前
redis连接服务
数据库·redis·bootstrap