我是django的新手。我有一个项目,手机可以使用令牌与服务器进行交互。在settings.py中,我有:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'UPLOADED_FILES_USE_URL': False,
'DEFAULT_PAGINATION_CLASS': None,
'PAGE_SIZE': DEFAULT_PAGE_SIZE, # For views using PageNumberPagination
}
但是当我使用邮递员时,我会发送带有无效令牌的请求,而不是返回401(未授权),403(禁止)。有什么特别的办法可以解决吗?
n
最佳答案
如documentation所述:
将使用的响应类型取决于身份验证方案。尽管可以使用多种身份验证方案,但仅可以使用一种方案来确定响应的类型。确定响应类型时,将使用在视图上设置的第一个身份验证类。
从SessionAuthentication添加此摘录
拒绝权限的未经身份验证的响应将导致HTTP 403禁止响应。
你有答案。
将TokenAuthentication
作为第一个DEFAULT_AUTHENTICATION_CLASSES
移动或记录当前行为。