Django: djangorestframework-jwt: как использовать его для обычных представлений DJango, а не для просмотра в формате DRF - PullRequest
0 голосов
/ 30 мая 2018

Я создал конечную точку 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

Теперь, если пользователь создан, я получаю JSON с токеном jwt.

IЯ хочу создать другое представление Django, которое будет проверять пользователя на основе токена jwt и при аутентификации отправлять мне необходимую информацию.

В обычном представлении django мы используем @login_required, который позволяет промежуточному программному обеспечению проверять подлинность.

Есть ли что-то похожее для jwt с обычными представлениями django.

Я знаю, что djangorestframework-jwt работает с представлениями DRF, добавляя его в промежуточное ПО настроек DRF.

Если я добавлю djangorestframework-jwt в настройки промежуточного программного обеспечения представлений Django, это будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...