Фреймворк Django Rest: предоставление разработчику доступа к просматриваемому API без токена

Мы используем Django Rest Framework в наших веб-проектах, и это здорово. Мы также используем аутентификацию на основе заголовков с токеном и т. д. Это создает ситуацию, когда наши разработчики не могут легко просматривать доступный для просмотра API без получения токена, вставки его и т. д.

Есть ли способ обойти это? отключить безопасность токенов для браузерного API и разрешить какую-то базовую HTTP-аутентификацию пользователя/пароля? может защита ИП? Любые другие идеи, как решить эту проблему? Я буду рад услышать отзывы от других пользователей DRF.


person alonisser    schedule 27.01.2014    source источник


Ответы (1)


Я не тестировал это с TokenAuthentication, но это должен быть правильный путь (конечно, вам нужно сделать его миксином и использовать повторно):

class MyAwesomeView(APIView):
    authentication_classes = (SessionAuthentication, BasicAuthentication)
    permission_classes = (IsAuthenticated,)
    # some more attributes

    def initial(self, request, *args, **kwargs):
        if self.get_format_suffix(**kwargs) == 'api':
            self.authentication_classes = (BasicAuthentication,)

        super(MyAwesomeView, self).initial(request, *args, **kwargs)
person mariodev    schedule 27.01.2014
comment
Спасибо! Я посмотрю и отчитаюсь - person alonisser; 27.01.2014