我正处于规划阶段的一个新项目。我希望能够通过互联网从我的Android手机控制多个继电器。我需要使用基于HTTP的服务器作为电话和中继之间的中间人。 Django是我的首选平台,因为Python是我最强的技能。这不是“Web应用程序”(管理用户及其对中继的访问权限的管理界面除外)。相反,服务器只是以HTTPS请求和JSON编码的形式提供API。虽然,我应该注意到我一生中从未做过任何网络开发,所以我还不知道最佳实践。身份验证方法应符合以下条件:
在CPU周期和带宽方面都是轻量级的
我计划使用以下方案来解决这个问题:
从安全的角度来看,这听起来是否合适?另外,有人能指出我如何使用内置于Django中的HTTP身份验证的示例吗?通过谷歌搜索,我可以发现很多剪辑一起破解这个功能。但是,它们都没有以it was added to Django in 1.1的方式实现HTTP身份验证。 The official documentation for REMOTE_AUTH can be found here,但由于我对Django不熟悉,因此我很难理解文档。
答案 0 :(得分:2)
我不完全确定基本的auth如何在Django上运行,但我可以拍摄。
basic auth article on wikipedia涵盖了一个非常标准的登录用例。对于Android,我个人跳过第一部分(401)并立即通过我的凭据。
使用您的身份验证请求,您只需从请求标头(WWW-Authenticate)中获取用户凭据,然后为此执行所有必要的工作。使用凭据,您可以使用Django中提供的身份验证框架来验证用户然后生成他们的UUID(我猜)。
至于Android上的基本身份验证,一开始有点棘手,可能会让你拉扯你的头发。我发现this article on Basic HTTP auth for android有助于解释如何做到这一点。
至于它的安全部分,我不太确定。这很简单,我说这是件好事:)。