我正在创建RESTful api,但我在概念上并不了解如何验证非POST的http请求。
例如,如果收到GET请求,我应该返回一个对象列表,但是如果请求来自我网站上注册的人,我只想回复该列表。使用POST,我将获得用户名并传递请求,但是GET,DELETE和PUT呢?
我在客户端使用Django服务器端和Java(Android)。我可能会使用TastyPie,但我仍需要进行身份验证。
谢谢!
答案 0 :(得分:0)
当用户第一次登录时发出POST请求,并在服务器上为该用户生成会话代码并将其发送到浏览器。现在,您可以通过在每次查询时将其放入GET查询URL中来从浏览器发送该会话代码,从而可以在服务器上对用户进行身份验证。
答案 1 :(得分:0)
POST
或application/x-www-form-urlencoded
编码的HTTP请求使用基于表单的身份验证,而不是通过HTTP {{1}使用基于HTTP的身份验证时,才需要 multipart/form-data
标头Authorization
个请求可以使用基于HTTP的身份验证。
答案 2 :(得分:0)
API调用的身份验证与您使用的HTTP方法无关。
以这种方式考虑API的功能工作流程:
答案 3 :(得分:0)
授权由(适当命名的)HTTP Authorization标头处理。
Authorization标头包含服务器可用于满足其身份验证和授权要求的凭证/令牌/密码/等等,无论如何获得。
可以使用任何HTTP请求发送授权头。
可以随意查找HTTP BASIC或HTTP DIGEST身份验证,作为如何使用Authorization标头的示例。另请考虑查看Amazon Web Services如何使用Authorization标头获取更复杂的示例。