Django DRF:无法使用标头中的令牌进行身份验证调用
我有一个经过身份验证的列表视图,但每当我尝试使用头中的令牌发出请求时,就会出现400错误。有什么想法吗 列表视图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 ... 获取身份验证
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。我再次更新了帖子。我被纠正了,这解决了我的问题,我必须重新启动服务器才能看到更改。