我目前正在开发一款主要使用HTML和CSS构建的移动应用,然后使用phonegap运行。部分应用程序要求用户登录并与后端同步数据。我希望它以这样的方式完成:一旦用户登录他们的设备,他们将保持登录,直到他们手动注销;他们只需要输入一次信息。我在使用本机代码时发现了一些不错的信息,但并不适用于我的情况。
现在,我不确定如何以安全的方式正确地做到这一点。我的第一个想法是正常处理登录,然后传回一个密码,该密码既存储在设备的本地存储中,也存储在用它验证的用户下的数据库中。在后续请求中,它将传递此信息并允许访问具有匹配密码的用户。我的问题是这是否足够安全以实用?
我还做了一些研究,看来JWT与我正在寻找的相似?我对这种方法的两个担忧是:
我认为我对JWT的问题是由于我误解了它的工作原理的一些基础知识。如果它满足我想要做的事情,我宁愿使用像JWT这样的更标准化的流程,而不是编写我自己的解决方案。
我是否正确地走上了正确的道路,或者我是否已离开基地?
答案 0 :(得分:0)
你的想法是正确的,这就是通常的做法。它是cookie和会话概念的组合。一旦用户登录,就在服务器上启动“会话”。会话由字符串(例如md5格式)标识并传递回客户端。该字符串保存在客户端的cookie中,并且由于cookie信息在每个HTTP请求中发送,服务器可以将该请求分配给会话,从而将您的用户视为已登录。以后的注销过程基本上包括删除您的cookie ,和/或向服务器发送请求以删除会话对象。 在大多数HTTP服务器端框架中,都有一个用于会话的API,因此您不必重新发明轮子。是的,它足够安全,因为您通常不会将安全性建立在这个传输层上,而是通过引入https在较低层上。