前后端分离的情况下后端无法通过session来判断用户是否处于活跃状态,而用户保持登陆和登陆失效则需要前端有一个完整的方案。
1、用户登陆及登陆信息的获取。这个大家都知道也不多说了。这个过程一般会存储后端回传的用户数据。其中包含用户ID、令牌Token、以及过期时间(可以口头约定)。
2、如果前端采用VUE、React或者其他技术,则需要在APP的全局生命周期中增加全局定时器来保持用户的登陆状态。
3、如果前端采用原生的html、js写法,那么前端在请求之前需要加一个请求拦截器,判断Token是否有效。
最重要的是无论Token是否有效,都不能让用户退出到登陆界面,重新输入密码。用户输密码的操作一般是因为Token不一致的时候账户存在风险,才需要重新输入。同一台设备反复输入密码登陆的用户体验非常差。