Djagno Пользовательский токен не передается в заголовке HTTP запроса:-.
Я создал login api, используя аутентификацию на основе токенов в django rest framework.....API работает нормально в локальной установке.....Но после фиксации кода на живом сервере. Вход выполнен успешно, но после передачи токена входа в заголовках пользователь не может открыть следующую страницу.
Вот мой код:-
1) Функция входа
@api_view(["POST"])
@permission_classes((AllowAny,))
def login(request):
account = request.data.get("account")
username = request.data.get("username")
password = request.data.get("password")
all_subs = []
for i in Subscriber.objects.all():
all_subs.append(i.username)
if account in all_subs:
connect_to_db(database=account)
set_db_connection(account)
try:
if '@' in username:
user = User.objects.using(account).get(email=username)
else:
user = User.objects.using(account).get(username=username)
except:
return Response({'error':'Invalid Credential'},
status=HTTP_400_BAD_REQUEST)
if user.check_password(password):
token, _ = Token.objects.using(account).get_or_create(user=user)
user_data = User.objects.using(account).get(id=token.user_id)
serializer = UserSerializer(user_data)
return Response({'data': serializer.data,'token': token.key},
status=HTTP_200_OK)
else:
return Response({'error':'Invalid Credential'},
status=HTTP_400_BAD_REQUEST)
elif account == "enggforms":
try:
if '@' in username:
user = User.objects.get(email=username)
else:
user = User.objects.get(username=username)
except:
return Response({'error':'Invalid Credential'},
status=HTTP_400_BAD_REQUEST)
if user.check_password(password):
token, _ = Token.objects.get_or_create(user=user)
user_data = User.objects.get(id=token.user_id)
serializer = UserSerializer(user_data)
return Response({'data': serializer.data,'token': token.key},
status=HTTP_200_OK)
else:
return Response({'error':'Invalid Credential'},
status=HTTP_400_BAD_REQUEST)
else:
return Response({'error':'Invalid Credential'},
status=HTTP_400_BAD_REQUEST)
if username is None :
return Response({'error': 'Please provide username'},
status=HTTP_400_BAD_REQUEST)
elif password is None:
return Response({'error': 'Please provide password'},
status=HTTP_400_BAD_REQUEST)
elif account is None:
return Response({'error': 'Please provide account name'},
status=HTTP_400_BAD_REQUEST)
if not user:
return Response({'error': 'Invalid Credentials'},
status=HTTP_404_NOT_FOUND)
2) функция отображения категорий после входа в систему:-
class CategoryViewSet(viewsets.GenericViewSet, ListModelMixin):
permission_classes = [IsAuthenticated]
queryset = Category.objects.all()
serializer_class = CategorySerializer
Сообщение об ошибке (когда я пытаюсь открыть список категорий после входа в систему) :- Учетные данные для аутентификации не предоставлены
Ваша помощь очень важна для меня. Спасибо