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)
相关推荐
无敌的黑星星11 小时前
Spring @Transactional 注解全解析
java·数据库·oracle
Rust研习社12 小时前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
河阿里12 小时前
MyBatis-Plus:MyBatis的进阶开发
数据库·mybatis
卷Java12 小时前
上下文压缩
开发语言·windows·python
AI技术增长12 小时前
Pytorch图像去噪实战(十二):DDPM图像去噪完整训练流程,构建可复现扩散模型工程
pytorch·python·深度学习
sjsjsbbsbsn12 小时前
向量数据库
数据库
逸Y 仙X12 小时前
文章十六:ElasticSearch 使用enrich策略实现大宽表
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
本地化文档12 小时前
setuptools-docs-l10n
python·github·gitcode
Sherry Wangs12 小时前
MySQL 与向量数据库的核心区别:从结构化数据到语义搜索
数据库·mysql
梦想不只是梦与想12 小时前
Python 属性访问的 MRO 规则
python·mro规则