Django 中验证token

	from django.utils.decorators import method_decorator
	from djangoProject.api import check_login
	
	class DelTable(APIView):
		# 类装饰器
	    @method_decorator(check_login)
	    def post(self, request):
	        data = json.loads(request.body)['data']
	        pk = data['id']
	        if not pk:
	            return api.error("参数不全")
	        try:
	            u1 = User.objects.get(pk=pk)
	            # u1.delete()
	            return api.success([])
	        except:
	            return api.error("当前用户不存在")

	def check_login(func):
    def wrapper(request, *args, **kwargs):
    	#request 等于跟请求的参数一致
        data = json.loads(request.body)['data']
        try:
            token = data['token']
            decode_jwt = jwt.decode(token, 'secret', algorithms=['HS256'])
       		print(decode_jwt) #解密的token
            if not token:
                return Response({"ret_code": 0, "ret_msg": '登陆过期'})
            print(data)
            return func(request)
        except:
            return Response({"ret_code": 0, "ret_msg": '登陆过期'})

    return wrapper
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值