В настоящее время у меня есть базовая настройка аутентификации Django с аутентификацией токена Knox.Обычной аутентификации недостаточно для производственной работы, поэтому я хочу заменить ее.Есть ли у Django еще один authentication_class
на основе пароля, который я могу легко заменить BasicAuthentication
, или это более сложный процесс?Если да, то с чего мне начать?
мой API-интерфейс входа в систему:
class UserLoginView(GenericAPIView):
serializer_class = UserOrganizationSerializer
authentication_classes = (BasicAuthentication,)
permission_classes = (IsAuthenticated,)
def post(self, request):
"""User login with username and password."""
token = AuthToken.objects.create(request.user)
return Response({
'user': self.get_serializer(request.user).data,
'token': token
})
мои классы аутентификации по умолчанию:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
],