在GET API端点上验证用户

时间:2014-11-23 14:01:10

标签: django api django-rest-framework

问题

我有一个带有GET端点的Django REST API,我想限制对admin用户的访问。这可以通过指定

来完成
permission_classes = (IsAdminUser,)

在视图中。

现在我试图用Postman来测试这个终点,但我有两个问题:

  1. 它不起作用,我收到一条消息,上面写着“未提供身份验证凭据。”
  2. 我的凭据会在网址中明显发送(因为这是一个GET终点)
  3. 问题

    为什么我在使用Postman时无法从终点得到预期的答案?如果我使用curl <my_url> -u <user>:<password>,我会收到我想要的内容。

    如何在保持关键凭据隐藏的同时保持我的API有意义(即,当终点的目标是检索数据时)不使用POST

1 个答案:

答案 0 :(得分:1)

为什么要在网址中传递身份验证详细信息?您在POSTMAN中有一个 Basic Auth 部分,您可以在其中输入登录凭据。然后POSTMAN将为您设置正确的标题。

请记住在DRF视图或设置中将BasicAuthentication设置为您的身份验证类。