我是 django-rest-auth 和 api 的新手。这是我第一次构建休息身份验证,我对授权标头和内容类型不太熟悉。
我试图理解为什么当我尝试/login/
像这样使用基本授权对用户进行身份验证时:
curl -X POST -H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" 'https://myurl.com/rest-auth/login/' --insecure
我收到此错误消息:
{"密码":["(此字段为必填项"]}
当像这样在正文中传递用户名和密码时:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'username=myuser&password=mypassword' 'https://myurl.com/rest-auth/login/' --insecure
我拿到了钥匙:
{“键”:“b5c0f3a9c7b2fc2f58a74b25f816e2968c64712f”}
为什么会这样?
我也想知道为什么在尝试相同的方法/user/
时没有给我任何错误并给我序列化的用户模型
curl -X GET -H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" -H "Cache-Control: no-cache" 'https://myurl.com/rest-auth/user/' --insecure
我能理解的唯一区别是,/login
我使用的是 POST,而 in/user/
是 GET
有人可以向我解释一下吗?
谢谢阅读!