token_1">token认证流程
- 用户登录校验,校验成功后就返回Token给客户端
- 客户端收到数据后保存在客户端
- 客户端每次访问API是携带Token到服务端,通常置于header头内
- 服务器端采用filter过滤器校验。校验成功则返回请求数据,校验失败则返回错误码
token_7">token缺陷
- token 一般都是 hash/encrypt 的字符串,会额外附加 加密/解密,需要一定性能开销
- 无法作废已颁布的令牌
- 认证发出后的过期时间内难以令其失效或撤销,类似缓存,只能自然死亡
- 更多的空间占用
- 放在客户端,需要考虑cookie的空间限制因素
- 放在localStorage,则可能到受到Xss攻击
合理使用
- 将cookie作为存储机制 JWT,并且设置HttpOnly=true
- 在JWT中尽可能只放“够用”的认证信息,其他信息放在数据库,需要时再获取
- 数字签名,要求发放方验证票据是否合法
- 关键点
- 存储与认证,token主要是解决认证的验证问题
- sessionId在负载均衡时,下一次使用会丢失上次状态,多服务器通信为保持状态一致性,通常会复制sessionID
- 应用场景