其实所谓的token,就是一串加密的字符串
需求:用户登录访问页面后,在未退出登录账号的情况下,再次访问页面无需再次登录
首先我们抛开过期时间不管
设计思路:主要是前端有个缓存可以存取一些信息一段时间,所以
- 在注册时生成一串加密好的数字,连同用户信息一起添加到数据库的用户表中,token字段必须唯一
- 用户登录成功,查询出这个用户的token返回给前端保存起来
- 用户再次登录时,前端把保存起来的token传给后端,后端验证无误后,让用户无需再次输入账号密码登录就能访问页面
假如需求是注册成功后自动登录 ,则在注册接口添加用户信息成功后再根据用户账号查询出用户token返回给前端,和上图图2方法一样
接下来是做token的有效期
首先得知道为什么要做token有效期。假如token生成后就一直不变,那么有一天被不速之客在前端页面获取到了用户的token,那么他则可以为所欲为了。所以为了防止token泄漏,我们得为token做一个有效期,一般为三天,如果用户三天都没有登录过,那么我们得让用户重新登录一下
主要是想好在哪里插入和更新token的有效期:
- 在用户注册的时候插入token的有效期
- 在用户登录的时候更新token的有效期和token
- 用户每次访问页面时,判断token有效期是否过期:未过期则只更新token有效期,过期则同时更新token有效期和token
注:更新token有效期不一定要更新token哦!!过期或登录时才同时t