需要Django Rest Framework JWT登录

2024-10-01 05:01:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是django-rest框架jwt身份验证。我获得令牌成功,可以将令牌添加到cookie中。但是,当我试图访问需要登录的视图时,JWT身份验证不起作用。始终重定向到登录.html. 在

Http请求标头:

Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjozLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNTA1NjU3NDgwLCJlbWFpbCI6ImFkbWluQGdtYWlsLmNvbSJ9.Ro507cIEisRle_iKgH4dm3-tSbrrsaCUYtP2CIK9jLM

Cookie: token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjozLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNTA1NjU3NDgwLCJlbWFpbCI6ImFkbWluQGdtYWlsLmNvbSJ9.Ro507cIEisRle_iKgH4dm3-tSbrrsaCUYtP2CIK9jLM

class SystemUserView(View):
    @method_decorator(login_required)
    def get(self, request, user_id):
        users = list(User.objects.all().values('email', 'id', 'username'))
        return HttpResponse(HttpResponse(json.dumps(users), content_type="application/json"))

网址:

^{pr2}$

Django版本:(1,11,5,'final',0)

Python 3.6.2

https://getblimp.github.io/django-rest-framework-jwt/


Tags: django框架身份验证restidjsonjwtusers
1条回答
网友
1楼 · 发布于 2024-10-01 05:01:17
 class SystemUserView(View):

看起来您导入的是Django视图,而不是DRFAPIView。DRF和Django使用不同的认证系统。如果您使用JWT对DRF进行了身份验证,Django视图仍然会将您重定向到登录页面。在

下面是一个使用普通令牌身份验证的DRF视图的示例。我还没有对它进行测试,你将不得不为JWT调整它,但它应该会引导你走上正确的道路。在

^{pr2}$

另外,请考虑使用DRF serializer将user对象转换为json。在

相关问题 更多 >