想要讨论有关移动应用程序(本机,混合和Web应用程序)如何管理会话的内幕信息?
请在下面的会话管理方案中进行验证:
原生(Android / iOS)应用
混合(JET,离子,Angular,Cordova)应用
网络HTML5应用
谢谢和问候,
罗希特
答案 0 :(得分:1)
它是如何工作的?当您的用户在登录屏幕中输入用户名和密码时,您会给他一个会话cookie。用户浏览器和网站中的每次互动都会保留此Cookie。 您需要在服务器端维护此cookie。除了此会话cookie之外,网站还在服务器端会话中保存有关用户的其他信息。
本质上,它无法扩展。
如果您的用户号码不高,您可以将此会话Cookie和其他信息保存在一个Web服务器中。但是如果用户数量很高,则需要使用不同的方法解决此问题,例如将此会话信息保存在数据库或会话服务器中。
现代浏览器具有本地存储容量。此本地存储非常适合用户的非关键信息。 Session storage仅限一个会话,当用户关闭浏览器(选项卡)时,它将被删除。 Local storage适用于一个网站,您需要明确删除它,否则用户可能会选择删除它。 在此存储任何非关键信息。如果您的用户从您的网站注销,请将其删除。
Cordova应用程序与Web浏览器没有什么不同。在这里,您确定您的用户只是此计算机(手机)的用户;因此,只使用本地存储。
使用sqlite保存所有会话信息。切勿在本机应用程序中使用cookie授权,这是不必要的,也不可扩展。使用令牌授权。
对于所有应用程序,使用登录屏幕获取授权令牌,例如JWT token并将其存储在您的应用程序中。
在此处阅读cookie authorization vs token authorization之间的差异。
请勿在任何存储空间中存储任何机密信息(密码,信用卡..)。将它们存储在您的数据库中,并根据具体情况向用户显示。