Итак, я собрал REST API, используя REST API Уильяма Винсента с книгой Django. У меня все идет согласно книге, но я немного нуб, поэтому мне нужны разъяснения от профессионалов.
Как я могу ограничить пользователю с помощью токена доступ к определенной информации в моем API?
Пользователь создан с токеном:

Я добавил authentication_classes = [TokenAuthentication] в class UserList, думая, что если пользователь вошел в систему с токеном, вошедший в систему пользователь сможет получить доступ к этой информации моего API, но я получаю следующее:

Когда я удаляю authentication_classes = [TokenAuthentication], я получаю следующее.

Все пользователи могут видеть мой API, а я этого не хочу. Я хочу, чтобы мой API просматривали только пользователи с токеном.
Любая помощь приветствуется!
Спасибо! Код ниже
# api/views.py
из django.contrib.auth import get_user_model из дженериков импорта rest_framework, разрешения из rest_framework.authentication импортировать TokenAuthentication из .serializers импортировать UserSerializer # Просмотр списка отображения - Пользователь класс UserList(generics.ListAPIView): набор запросов = get_user_model().objects.all() сериализатор_класс = Пользовательскийсериализатор Permission_classes = (permissions.IsAuthenticated,) Authentication_classes = [TokenAuthentication] # api/serializers.py
из django.contrib.auth import get_user_model из сериализаторов импорта rest_framework класс UserSerializer(serializers.ModelSerializer): класс Мета: модель = get_user_model() поля =('id', 'имя пользователя', 'электронная почта',) #api/urls.py
из пути импорта django.urls из импорта .views (UserList) URL-паттерны = [ путь('users/', UserList.as_view()), ] #master_application/urls.py
urlpatterns = [ путь('admin/', admin.site.urls), путь('', include('users.urls')), путь('api/', include('api.urls')), путь('api-auth/', include('rest_framework.urls')), путь('api/rest-auth/', include('rest_auth.urls')), путь('api/rest-auth/registration/', include('rest_auth.registration.urls')), путь('', include('django.contrib.auth.urls')), путь('users/', include('users.urls')), путь('users/', include('django.contrib.auth.urls')), ] settings.py
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAdminUser', 'rest_framework.permissions.IsAuthenticated', ], 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication', ] }