Django Rest Framework:未提供身份验证凭据

时间:2018-11-28 01:48:00

标签: django django-rest-framework

当前数据库中的图像只有一个数据。

但是,我目前遇到以下错误

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

我的Git中心网址:https://github.com/Nomadcoders-Study/Nomadgram

设置的哪一部分出错了?

3 个答案:

答案 0 :(得分:2)

我看到了您的Github项目settings.py文件。

此错误是因为对所有对Rest API的请求都使用IsAuthenticated后端。您还设置了jwt授权系统:

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

因此,基本上,如果要创建对任何API端点的请求,则应在其中提供jwt令牌授权标头。像这样:

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

还记得通过在序列化程序中提供用户名和密码来设置API并从中接收令牌。

答案 1 :(得分:0)

您可以将其添加到项目设置“ rest_framework”配置中

  

settings.py

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

答案 2 :(得分:0)

在您的设置文件中尝试

settings.py

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


}