Я создаю проект в django для своего мобильного приложения. Проект django — это серверная часть API для мобильного приложения. Я создал регистрацию для пользовательской модели, используя структуру django rest. API регистрации работает нормально. Теперь я хочу, чтобы обслуживался только запрос из моего мобильного приложения. Для этого я создал тип гранта авторизации приложения oauth "client-credentials"
class UserSerializer(ModelSerializer):
email = serializers.EmailField(
required=True,
validators=[UniqueValidator(queryset=User.objects.all())]
)
username = serializers.CharField(
validators=[UniqueValidator(queryset=User.objects.all())]
)
password = serializers.CharField(min_length=8)
def create(self, validated_data):
user = User.objects.create_user(validated_data['username'], validated_data['email'],
validated_data['password'])
return user
class Meta:
model = User
fields = ('id', 'username', 'email', 'password')
read_only_fields = ('id',)
write_only_fields = ('password',)
Это пользовательский сериализатор, а представление
class UserCreateAPIView(CreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (IsAuthenticatedOrCreate, TokenHasScope)
Но проблема в том, что я могу делать прямые вызовы API регистрации без использования токена. Как убедиться, что User Create API вызывается, когда передается только токен, или что почтовый запрос действителен при передаче токена.