Django:djangorestframework-jwt:如何将它用于正常的DJango视图而不是DRF视图

时间:2018-05-30 08:56:57

标签: django jwt

我创建了一个api终点,用于使用Django视图而不是DRF创建新用户。

@csrf_exempt
def user_create(request):
    if request.method == 'POST':
        form_data = json.loads(request.body)
        form = MyUserCreationForm(form_data)
        if form.is_valid():
            user = form.save()
            payload = {
                'id': user.id,
                'username': user.username,
            }

            jwt_token = {'token': jwt.encode(payload, settings.SECRET_KEY, algorithm='HS256').decode('utf-8')}

            response = HttpResponse(
                json.dumps(jwt_token, cls=DjangoJSONEncoder),
                content_type="application/json"
            )

            return response

现在,如果创建了用户,我将获得带有jwt令牌的JSON。

我想创建另一个Django视图,该视图将根据jwt令牌验证用户,如果经过身份验证,则向我发送所需信息。

在普通的django视图中,我们使用@login_required,它允许中间件检查身份验证。

对于具有正常django视图的jwt,是否有类似的东西。

我知道djangorestframework-jwt通过将其添加到DRF设置的中间件来处理DRF视图。

如果我将djangorestframework-jwt添加到Django视图的中间件设置中,它会起作用。

0 个答案:

没有答案