token过期机制

阅读 2

第一种方案:在服务器端保存 Token 状态,用户每次操作都会自动刷新(推迟) Token 的过期时间。

该方案在前后端分离的情况下,每秒可能发起很多次请求,每次都去刷新过期时间会产生非常大的代价。如果 Token 的过期时间被持久化到数据库或文件,代价就更大了。所以通常为了提升效率,减少消耗,会把 Token 的过期时保存在缓存或者内存中。

 

第二种方案:使用 Refresh Token,它可以避免频繁的读写操作。这种方案中,服务端不需要刷新 Token 的过期时间,一旦 Token 过期,就反馈给前端,前端使用 Refresh Token 申请一个全新 Token 继续使用。

该方案中服务端只需要在客户端请求更新 Token 的时候对 Refresh Token 的有效性进行一次检查,大大减少了更新有效期的操作,也就避免了频繁读写。

Refresh Token 也是有有效期的,但是这个有效期就可以长一点了,比如以天为单位。

各位看官,如果你觉得本文不错,请支持一下~