Http 如何对非';t邮政?
我正在创建一个应用程序,但从概念上讲,我不理解如何对未POST的http请求进行身份验证 例如,如果我收到GET请求,我应该返回一个对象列表,但是如果请求来自在我的站点上注册的人,我只想用该列表进行响应。使用POST,我将获得用户名并通过请求,但是get、DELETE和PUT呢 我在客户端使用Django服务器端和Java(Android)。我可能会使用,但我仍然需要验证Http 如何对非';t邮政?,http,rest,authentication,Http,Rest,Authentication,我正在创建一个应用程序,但从概念上讲,我不理解如何对未POST的http请求进行身份验证 例如,如果我收到GET请求,我应该返回一个对象列表,但是如果请求来自在我的站点上注册的人,我只想用该列表进行响应。使用POST,我将获得用户名并通过请求,但是get、DELETE和PUT呢 我在客户端使用Django服务器端和Java(Android)。我可能会使用,但我仍然需要验证 谢谢 当用户首次登录时发出POST请求,并在服务器上为该用户生成会话代码并将其发送到浏览器。现在,您可以在每次查询时将该会话
谢谢 当用户首次登录时发出POST请求,并在服务器上为该用户生成会话代码并将其发送到浏览器。现在,您可以在每次查询时将该会话代码放入GET查询url中,从浏览器发送该会话代码,从而可以在服务器上对用户进行身份验证。
POST
仅当您的服务器通过应用程序/x-www-Form-urlencoded
或多部分/表单数据编码的HTTP使用基于表单的身份验证时才需要请求,而不是通过HTTPAuthorization
头使用基于HTTP的身份验证GET
请求可以使用基于HTTP的身份验证。API调用的身份验证与您使用的HTTP方法无关
以这种方式考虑API的功能工作流:
在发送常规API调用之前,先发送登录/生成API登录密钥的调用
收到API调用后,立即运行身份验证检查函数以验证是否允许他们使用该调用
如果已验证,请继续。如果未经验证,则会出现一些错误代码和消息
如果继续,执行正常功能并完成
授权由(恰当命名的)HTTP授权头处理
授权标头包含凭证/令牌/密码等,无论如何获得,服务器都可以使用这些凭证/令牌/密码等来满足其身份验证和授权要求
授权头可以与任何HTTP请求一起发送
请随意查找HTTP BASIC或HTTP DIGEST身份验证,作为如何使用授权头的示例。还要考虑一下Amazon WebServices如何为更复杂的示例使用授权标头。或使用Cookie。但是,无论哪种方式,会话代码都可以被任何可以查看HTTP数据的网络嗅探器公开访问,因此请确保对发送会话代码的任何URL使用HTTPS。但即使如此,您仍然需要注意通过HTTPS感知代理/调试器(如Fiddler)进行的MITM攻击。谢谢您的回答。我熟悉Django的登录和会话功能,但在我的应用程序中,客户端不是web浏览器;这是安卓设备上的自定义应用程序。谢谢你,威尔。我读了一些书,发现这些概念是由tastype框架封装的。