我为一家公司开发了一个 Python/Django 应用程序。在此应用程序中,公司的所有员工都有一个用户名和密码来登录。现在需要一个可以执行某些功能的手机应用程序。
在某些函数中我有装饰器@login_required
出于安全原因,我想使用这个装饰器而不是反对它,那么我该怎么办?
我正在使用 PhoneGap (JavaScript/JQuery) 来制作手机应用程序(如果有帮助的话)。我可以做自己的研究,但我只需要一个起点。我是否可以获得某种 token 并将其保留在我的所有 HTTP 请求 header 中?
第一次尝试:
我在想也许我可以发布到服务器并获得某种身份验证 token 或其他东西。也许有一些 Javascript 代码使用相同的算法对我的密码进行哈希处理,以便我可以将其与数据库进行比较。
谢谢
最佳答案
由于您使用的是手机应用程序,因此您很可能正在使用来自 RESTful API 或某种 API 的数据。构建“安全”用户系统的最简单方法是使用 Django Rest Framework http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication 中的 token 身份验证系统.
登录后,获取 token 并使用授权 header 来验证您的请求。
并通过 RESTFul API Hook 简单的登录流程 - https://github.com/Tivix/django-rest-auth
注意:仅与 HTTPS 一起使用。
关于javascript - 从电话应用程序登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294758/