我正在使用 Django 1.11 和 Django rest framework 3.6.2 我创建了一个自定义身份验证后端:
MyAuthBackend(rest_framework.authentication.BasicAuthentication):
# ...
并将其添加到 settings.py 文件中:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : ('path.to.MyAuthBackend',)
}
我还尝试扩展 SessionAuthentication 但没有成功
我的问题是用户正在尝试通过 browsable api 登录,而 browsable api 使用的身份验证后端似乎不是默认后端。
我在哪里可以更改它?我必须在可浏览的 api 中使用我自己的身份验证后端, 谢谢。
请您参考如下方法:
我认为在可浏览的 api 中使用 BasicAuthentication 是不可能的(不改变它的一大堆内部结构)。
考虑将 SessionAuthentication 与新的一起使用,您可以在应用程序中使用基本身份验证,并在可浏览的 api 中使用 session 身份验证:
'DEFAULT_AUTHENTICATION_CLASSES': (
'path.to.MyAuthBackend',
'rest_framework.authentication.SessionAuthentication',
),
