伙计们, 这是我在这里的第一篇文章,因此,我将尝试尽可能具体。 我在这个项目中需要使用JWT令牌进行身份验证。想法是使用自定义有效负载生成令牌,其中包括用户的最后重置日期。在登录过程中,我按照以下代码创建令牌:
payload={
'sub':'authorization_token',
'iss':'dani',
'aud':'something',
'exp': datetime.utcnow() + JWT_AUTH.get('JWT_EXPIRATION_DELTA'),
'password_reset_time': str(user.reset_request_time),
'user_id':user.pk
}
self.token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
当我通过Postman发送登录日志时,作为响应,我收到的令牌已装载了所需的信息。事实是,我们出于测试目的而拥有此验证视图:
class ValidateView(APIView):
permission_classes = (IsAuthenticated,)
SERVER_LOG.error('HelloView: %s', "123")
def get(self, request):
content = {'validated': True}
return Response(content)
因此,如果令牌已正确验证,它应该返回给我:
{
"validated": true
}
相反,我收到了:
{
"detail": "Incorrect authentication credentials."
}
我仍然是Django的菜鸟,我的建议是负责验证令牌的代码段不知道我对有效负载所做的更改,因此在解码过程中,它期望使用不同的格式关于有效载荷或其中的不同类型信息的信息,所以我的最新想法是,我应该为令牌创建一些自定义的Validation视图,并指定应解码的有效载荷的格式。关于我面临的问题的每条建议或指导都将不胜感激。
答案 0 :(得分:0)
您是否已在标头中设置令牌?
Authorization: Bearer <your token goes here>