我主要是一个后端程序员,但我已经做了一些前移动web开发。
如果我创建一个本地HTML5应用程序,它只是HTML5和javascript (零本地移动应用程序代码),有什么方法可以记住登录凭据吗?在移动设备上创建帐户之后,我看到了其他应用程序。
这是流程流程,但如果第3种可能使用非本地移动应用程序的话,我就无法理解了。
发布于 2018-09-10 16:32:26
一旦用户成功通过身份验证,您就可以将令牌从服务器传递到应用程序,并将该令牌存储在localStorage或indexedDB中的客户端应用程序中。然后使用令牌登录人。确保令牌实际上是包含令牌过期的序列化对象的一部分。例如:
"rememberLogin": {
"token": "43f250704a6bc737c830cc43739973b14e67ada07dca378a1725c3106c8e4f0f607cf11e2a3a2b08e8c053c19ccc781faf4f549e0e42cf6e2fe3b018a35da0f513ffe577f6d241db54a83ef30584c06e",
"expiry": "2018-09-10T16:35:00.304Z"
}存储在客户端上的令牌的过期日期仅用于UX目的(您可以使用它来迫使用户在过期日期过后被带到登录表单)。出于安全考虑,请使用存储在服务器(而不是客户端)上的令牌的过期时间来验证令牌的实际真实性。还要确保在每个成功的基于令牌的身份验证之后,要么删除数据库中的令牌,要么将其标记为已被使用;同样在客户端,您应该用一个新令牌替换旧令牌。
我强调在本地存储令牌以方便“记住登录”,而不是在本地存储用户的用户名和密码。永远不要将用户名和密码存储在客户端上;如果您这样做了,它们可能太容易被发现,而且它们比具有过期日期的不可预测的令牌敏感得多。有到期日期的令牌是要走的路。
https://stackoverflow.com/questions/52259191
复制相似问题