Запрещено (CSRF-токен отсутствует или неверен.): /api/token/refresh/

При использовании декоратора @csrf_protect в представлении я столкнулся с ошибкой "Forbidden (CSRF token missing or incorrect): /api/token/refresh/"

>

views.py

@api_view(['POST'])
@renderer_classes([CustomizeJSONRenderer])
@csrf_protect
def refresh_token_view(request):
    refresh_token = request.COOKIES.get('refreshtoken')
    # check valid refresh token
    if refresh_token is None:
       raise exceptions.AuthenticationFailed('Authentication credentials were not 
                                              provided, please login.')

    try:
        payload = jwt.decode(refresh_token, settings.REFRESH_TOKEN_SECRET, 
                             algorithms=['HS256'])
    except jwt.ExpiredSignatureError:
           raise exceptions.AuthenticationFailed('expired refresh token, please login 
                                                  again.')

    user = User.objects.filter(id=payload.get('user_id')).first()
    # check valid user
    if user is None:
       raise exceptions.AuthenticationFailed('user not found.')
       if not user.is_active:
           raise exceptions.AuthenticationFailed('user is inactive.')

    access_token = generate_access_token(user) # create new access token
    return Response({'access_token': access_token})

просто напишите {% csrf_token %} в вашем HTML шаблоне, где вы хотите использовать вашу команду django.

Вернуться на верх