YS的的当前session是24小时失效的,手机和web是共用一套session机制的,但考虑到移动终端的用户体验问题,不可能让用户24小时就登录一次,因此,自动登录是必须要做的,目前的方式是使用对称加密(AES256)存储用户的用户名和口令,密钥使用是根据软硬件环境生成的,密文只能在这台机器上解密,但长远来看还是有被逆出明文的风险,因此,决定改用存储sessionID的方式实现自动登录,同时需要兼容之前24小时的session过期机制。
1、首次自动登录:
备注:
1、 数据库只保存硬件特征码和token混合的哈希值是避免被别人拿到明文token,否则一旦服务器受攻击导致大量token丢失,攻击者就可以用来随意产生任意用户的session。
2、 Token和硬件特征码绑定是保证该token只能够在该手机上使用,进一步增强安全性。
3、 Token有效期为30天,session有效期仍然为24个小时,因此可以保留原有会话机制。
4、 加密密钥由本地硬件信息产生,这样的好处是:
(1)、密钥动态计算产生,不需要存储在本地。
(2)、密文只能在该硬件终端上解密,即密文即使丢失,也无法放在其它终端上假冒登录。
2、自动化登录流程(通过持久性token刷新session)
转载于:https://www.cnblogs.com/fishou/p/4185451.html