我在django-rest-framekwork中的缺省认证中添加了一个Authencation,并且在api-guide中记录错误时引发AuthenticationFailed。它返回一个500响应,表示AuthenticationFailed的异常被抛出,而根据document它应该返回401或403响应。django-rest-framework raise AuthencationFailed cause 500响应
我检查了来源。它捕获这个异常并在Request._authenticate()中重新提出,并且永远不会再捕获。
我错过了什么?
我使用Django 1.7和django-rest-framework 3.3.3。
的代码,你可以想像那么简单:
class CustomAuthentication(authentication.BaseAuthentication):
def authenticate(self, request):
raise exceptions.AuthenticationFailed
,并设置:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
'path.to.CustomAuthentication',
],
}
请提供一些代码,提供一些关于您如何进行身份验证以及可能会出错的提示。 –
这不关我怎么认证。我只需要401或403响应而不是500响应。 –
感谢您更新问题,您是否也可以分享您正在验证的视图? –