我使用Django rest框架实现了一个REST API。这是我的观点:
class CustomerList(generics.ListCreateAPIView):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
permission_classes = (permissions.IsAuthenticated,)
我添加了权限.IsAuthenticated仅允许具有凭据(admin / password123)的用户查看客户列表。
我测试过,它在网络浏览器上运行良好。
但是如何从客户端发送用户:密码(例如:android / ios)?我正在使用'Advance Rest Client',一个chrome扩展程序来测试。我应该在哪里/如何使用我的用户:密码?头?
我试过这个标题,但它不起作用:
Authorization: admin:password123
accept: application/json
accept-encoding: gzip, deflate
accept-language: en-US,en;q=0.8
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
答案 0 :(得分:0)
我找到了解决方案。要通过REST查询发送用户:密码,请将其附加到查询字符串:
example: http://api.example.com/customers
solution: http://username:password123@api.example.com/customers