Учетные данные для аутентификации не были предоставлены - Django REST
Я делаю приложение для IOS с бэкендом Django, оно работало хорошо, но теперь я получаю ошибку {"detail":"Authentication credentials were not provided."}
Django Backend
settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated'
),
}
views.py
class ColorTagViewSet(viewsets.ModelViewSet):
queryset = ColorTag.objects.all()
serializer_class = ColorTagSerializer
permission_classes = (IsAuthenticated,)
authentication_classes = (TokenAuthentication,)
urls.py
(в моем приложении)
router = routers.DefaultRouter()
router.register(r'colortag', views.ColorTagViewSet)
urlpatterns = [
path('', include(router.urls)),
path('auth/get-token', rest_views.obtain_auth_token),
]
Тестирование приложения IOS
ViewController.swift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("requesting")
guard let url = URL(string: "http://192.168.0.171:8000/api/v1/colortag") else {
print("URL Error")
return
}
let token = "6a02d8d41a8cf143522a587bcee4be2c8b7d75e5"
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.addValue("Token \(token)", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { data, response, error in
print(String(data: data!, encoding: .utf8))
}.resume()
}
}
Я также пробовал использовать базовый аутентификатор, но это тоже не сработало. обычно я не спрашиваю людей на Stackoverflow (или любых других форумах, достаточно google), но я понятия не имею, что делать.
Может ли кто-нибудь сказать мне, какова возможная причина возникновения этой ошибки?