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)
相关推荐
吴维炜20 分钟前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding
惊讶的猫1 小时前
Redis双写一致性
数据库·redis·缓存
FansyMeng1 小时前
VSCode配置anaconda
vscode·python
怣501 小时前
[特殊字符] MySQL数据表操作完全指南:增删改查的艺术
数据库·mysql·adb
电饭叔1 小时前
Tkinter Button 括号内的核心参数详解
python·学习
ktoking2 小时前
Stock Agent AI 模型的选股器实现 [五]
人工智能·python
地球资源数据云2 小时前
SCI制图——云雨图
python·信息可视化·数据分析
安然无虞2 小时前
「MongoDB数据库」初见
数据库·mysql·mongodb
独自破碎E2 小时前
Spring Boot + LangChain4j 报错:Bean 类型不匹配的解决办法
spring boot·python·pycharm
小W与影刀RPA2 小时前
【影刀 RPA】 :文档敏感词批量替换,省时省力又高效
人工智能·python·低代码·自动化·rpa·影刀rpa