DRF PWT Postman detail": "Authentication credentials were not provided
Отправляю запрос в Postman по адресу http://127.0.0.1:8000/api/v1/users/
, перед этим генерируя токен с использованием username и password по адресу http://127.0.0.1:8000/api/v1/token/obtain/
, но Postman выдаёт "detail": "Authentication credentials were not provided."
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
...
'rest_framework',
'rest_framework_simplejwt',
]
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 15,
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renders.JSONRenderer',
'rest_framework.renders.BrowsableAPIRenderer',
],
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
)
}
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=20),
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
'ROTATE_REFRESH_TOKENS': False,
'BLACKLIST_AFTER_ROTATION': False,
'UPDATE_LAST_LOGIN': False,
'ALGORITHM': 'HS256',
'SIGNING_KEY': SECRET_KEY,
'VERIFYING_KEY': None,
'AUDIENCE': None,
'ISSUER': None,
'JWK_URL': None,
'LEEWAY': 0,
'AUTH_HEADER_TYPES': ('Token',),
'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
'USER_ID_FIELD': 'id',
'USER_ID_CLAIM': 'user_id',
'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule',
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
'TOKEN_TYPE_CLAIM': 'token_type',
'TOKEN_USER_CLASS': 'rest_framework_simplejwt.models.TokenUser',
'JTI_CLAIM': 'jti',
'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
}
views.py
from rest_framework import viewsets
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticatedOrReadOnly, IsAdminUser, IsAuthenticated
from api.permissions import IsAdminOrReadOnly, IsOwnerOrReadOnly
from author.models import Author
from book.models import Book
from order.models import Order
from django.contrib.auth.models import User
from api.serializers import *
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (IsAuthenticated,)
urls.py
urlpatterns = [
path('', include(router.urls)),
path('drf-auth/', include('rest_framework.urls')),
path('token/obtain/', TokenObtainPairView.as_view(), name='obtain_token'),
path('token/refresh/', TokenRefreshView.as_view(), name='refresh_token'),
path('token/verify/', TokenVerifyView.as_view(), name='verify_token'),
]
Нашел ошибку: Так как я импортировал renderers из rest_frameword в settings.py, то drf не загружал настройки из словаря settings.REST_FRAMEWORK.