【问题标题】:Django Rest framework: Allowing developer to access te browseable api without a tokenDjango Rest 框架:允许开发人员在没有令牌的情况下访问可浏览的 api
【发布时间】:2014-01-27 15:48:50
【问题描述】:
我们在 Web 项目中使用 Django Rest Framework,它很棒。我们还使用基于标头的身份验证和令牌等。这造成了我们的开发人员在没有获取令牌、粘贴令牌等情况下无法轻松浏览可浏览 api 的情况。
有没有办法解决这个问题?禁用可浏览 api 的令牌安全性并允许某种基本的 http 用户/密码身份验证?也许是知识产权保护?任何其他想法如何解决这个问题?我很想听听其他 DRF 用户的反馈。
【问题讨论】:
标签:
django
django-rest-framework
【解决方案1】:
我没有用TokenAuthentication 测试过这个,但它应该是正确的方法(当然你需要把它变成一个mixin 并重用它):
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)