4.2 客户端如何更新令牌?
在我们的方案中,服务端刷新 Token 过期时间,其实就是生成一个新的 Token 给客户端。那么 客户端怎么知道这次响应带回来的Token是更新过的呢?这个问题很容易解决。
只要用户成功登陆系统,当后端服务器更新 Token 的时候,就在响应中添加 Token 。客户端那边判断每次Ajax响应里面是否包含 Token ,如果包含,就把 Token 保存起来就可以了。
4.3 如何在响应中添加令牌?
我们定义 OAuth2Filter 类拦截所有的 HTTP 请求,一方面它会把请求中的 Token 字符串提取出
来,封装成对象交给 Shiro 框架;另一方面,它会检查 Token 的有效性。如果 Token 过期,那么
会生成新的 Token ,分别存储在 ThreadLocalToken 和 Redis 中。
————————————————