首页 > 代码库 > 自动登录功能设计

自动登录功能设计

YS的的当前session是24小时失效的,手机和web是共用一套session机制的,但考虑到移动终端的用户体验问题,不可能让用户24小时就登录一次,因此,自动登录是必须要做的,目前的方式是使用对称加密(AES256)存储用户的用户名和口令,密钥使用是根据软硬件环境生成的,密文只能在这台机器上解密,但长远来看还是有被逆出明文的风险,因此,决定改用存储sessionID的方式实现自动登录,同时需要兼容之前24小时的session过期机制。

1、首次自动登录:

技术分享

备注:

1、 数据库只保存硬件特征码和token混合的哈希值是避免被别人拿到明文token,否则一旦服务器受攻击导致大量token丢失,攻击者就可以用来随意产生任意用户的session。

2、 Token和硬件特征码绑定是保证该token只能够在该手机上使用,进一步增强安全性。

Token有效期为30天,session有效期仍然为24个小时,因此可以保留原有会话机制。

2、自动化登录流程(通过持久性token刷新session)

技术分享

自动登录功能设计