我是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移动或记录当前行为。

09-11 08:57