看过不少JWT和单点登录系统的文章,这里就根据自己的实际开发经验谈一下我的理解。大致可以总结为以下三种方案:
三种方案:
1. 纯Jwt
2. Jwt + 认证中心Redis
3. Jwt + 认证中心Redis + 多系统Redis
1. 纯Jwt 方案
1. 用户去认证中心登录,认证中心生成jwt,返回给客户端。
2. 客户端携带jwt请求多个系统
3. 每个系统各自解析jwt,取出用户信息。能解析成功就说明jwt有效,继续处理自己的业务逻辑。
(所有系统的jwt密钥保持一致才能各自解析成功)
优点:认证流程简单,服务端处理速度快。
缺点:因为简单,所以不安全。jwt一旦下发,有效期内就无法使其主动失效。
一句话总结:认证中心创建Jwt,其他系统解析。