Всё ок, токены выдаются, аутентификация проходит. Хочу добавить регистрацию нового пользователя и сразу же выдачу ему токена.
Создал сериализатор:
class UserSerializer(serializers.ModelSerializer):
token = serializers.SerializerMethodField()
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ['username', 'password', 'token']
def get_token(self, User):
refresh = RefreshToken.for_user(User)
return {
'refresh': str(refresh),
'access': str(refresh.access_token),
}
def create(self, validated_data):
password = validated_data.pop('password', None)
instance = self.Meta.model(**validated_data)
if password is not None:
instance.set_password(password)
instance.save()
return instance
А также во въюхе метод:
@api_view(['POST'])
def signup_user(request):
serializer = UserSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(
{'data': serializer.data},
status=status.HTTP_201_CREATED
)
return Response(
{'data': serializer.errors},
status=status.HTTP_400_BAD_REQUEST
)
Но при тесте через курл получаю ответ {"detail":"Authentication credentials were not provided."}.
В чём может быть ошибка?
разобрался, проблема была в ограничении доступа по дефолту, когда ставил jwt.
Обсуждают сегодня