'Django Rest Framework : Authentication credentials were not provided

Images in the current database have one piece of data.

But, I am currently experiencing the following error

"GET /images/all/ HTTP/1.1" 401 58" "detail": "Authentication credentials were not provided."

My Git Hub URL : https://github.com/Nomadcoders-Study/Nomadgram

Which part of the setup went wrong?



Solution 1:[1]

I saw your Github project settings.py file.

This error is because you are using IsAuthenticated backend for all of your requests to Rest APIs. Also you setup jwt authorization system:

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
),
}

So basically, if you want to create a request to any of your API endpoints, you should provide jwt token authorization header in it. like this for:

curl "<your api endpoint>" -H "Authorization: jwt <token_received>"

Also remember to setup and API to receive token from it, by providing username and password in serializer.

Solution 2:[2]

try this in your settings file

settings.py

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
    'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_simplejwt.authentication.JWTAuthentication',),


}

Solution 3:[3]

You can add it to your project Settings rest_framework configuration

settings.py

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES'('rest_framework.authentication.BasicAuthentication', ),
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Reza Torkaman Ahmadi
Solution 2 deepto
Solution 3 Saeed