【发布时间】:2020-04-10 21:41:42
【问题描述】:
我有一个内部 API,其中所有 ViewSets 都有 LoginRequiredMixin,因为此 API 仅供登录用户使用。
现在我有时需要通过auth_token 提供它 - 例如。当用户未登录但有令牌时。
我添加了TokenAuthentication:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend',
'rest_framework.filters.OrderingFilter'],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
],
}
并尝试使用授权标头访问 API:Token <MYTOKEN>,但它会将所有请求重定向到登录。
如何使其工作,以便用户必须经过身份验证或使用授权标头?
这是ViewSet:
class OrderViewSet(LoginRequiredMixin, ModelViewSet):
serializer_class = OrderSerializer
filterset_class = OrderFilter
【问题讨论】:
标签: python django rest django-rest-framework django-authentication