Nouveau
Nouveau

Reputation: 383

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?

Upvotes: 1

Views: 19694

Answers (3)

飞翔的企鹅
飞翔的企鹅

Reputation: 13

You can add it to your project Settings rest_framework configuration

settings.py

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

Upvotes: 1

deepto
deepto

Reputation: 191

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',),


}

Upvotes: 3

Reza Torkaman Ahmadi
Reza Torkaman Ahmadi

Reputation: 3058

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.

Upvotes: 8

Related Questions