Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django DRF:无法使用标头中的令牌进行身份验证调用_Django_Django Rest Framework_Django Rest Auth - Fatal编程技术网

Django DRF:无法使用标头中的令牌进行身份验证调用

Django DRF:无法使用标头中的令牌进行身份验证调用,django,django-rest-framework,django-rest-auth,Django,Django Rest Framework,Django Rest Auth,我有一个经过身份验证的列表视图,但每当我尝试使用头中的令牌发出请求时,就会出现400错误。有什么想法吗 列表视图 class EventListView(ListAPIView): authentication_classes = (TokenAuthentication, ) permission_classes = (IsAuthenticated, ) serializer_class = EventFilterSerializer ... 获取身份验证

我有一个经过身份验证的列表视图,但每当我尝试使用头中的令牌发出请求时,就会出现400错误。有什么想法吗

列表视图

class EventListView(ListAPIView):
    authentication_classes = (TokenAuthentication, )
    permission_classes = (IsAuthenticated, )
    serializer_class = EventFilterSerializer
    ...

获取身份验证令牌终结点:

from rest_framework.authtoken.views import obtain_auth_token

urlpatterns = [
    path('auth/', obtain_auth_token, name='api_token_auth'),
]
设置:


REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}
邮递员截图


正如@Iain Shelvington所述,尽管我在“设置”中配置了默认的“身份验证”类权限,但我在视图中覆盖了它。通过完全删除空的
authentication\u类
元组或添加TokenAuthTokenAuthenticationen,我的问题得到了解决

正如@Iain Shelvington所说,尽管我在设置中配置了默认的_AUTHENTICATION_CLASSES权限,但我在视图中覆盖了它。通过完全删除空的
authentication\u类
元组或添加TokenAuthTokenAuthenticationen,我的问题得到了解决

那枚代币是从哪里来的?
IsAuthenticated
权限检查用户是否登录,这通常通过会话完成cookie@IainShelvington我更新了帖子,将您在视图中将
authentication\u classes
设置为空元组的get\u auth端点包括在内,这可能是问题所在吗?您需要添加
TokenAuthentication
或删除该行(如果它位于
DEFAULT\u AUTHENTICATION\u CLASSES
中),我在设置中配置了
DEFAULT\u AUTHENTICATION\u CLASSES
。我也在视图中包含了这个类,但我仍然得到了400。我再次更新了帖子。我被纠正了,这解决了我的问题,我必须重新启动服务器以查看更改。该令牌来自哪里?
IsAuthenticated
权限检查用户是否登录,这通常通过会话完成cookie@IainShelvington我更新了帖子,将您在视图中将
authentication\u classes
设置为空元组的get\u auth端点包括在内,这可能是问题所在吗?您需要添加
TokenAuthentication
或删除该行(如果它位于
DEFAULT\u AUTHENTICATION\u CLASSES
中),我在设置中配置了
DEFAULT\u AUTHENTICATION\u CLASSES
。我也在视图中包含了这个类,但我仍然得到了400。我再次更新了帖子。我被纠正了,这解决了我的问题,我必须重新启动服务器才能看到更改。