分为四个接口
登陆接口、验证登录接口、注销登录接口、网关过滤器登录验证
登录接口:
1. 接收前台发送的用户名和密码 通过feign调用验证
2. 如果用户名和密码正确就生成JWT
3. 将JWT生成的token串写到浏览器
验证登录接口:
1. 拿着cookie中的JWT生成的token,去后台接口验证token的有效性
2. 验证token是否存在redis的黑名单中,如果存在,说明用户已经注销登录,返回401
3. 如果token解析正确,但是有效期低于15分钟,要进行续签(重新生成一个token,写到cookie)
注销登录接口:
1. 把JWT存入黑名单,就是把token放入redis中,设置一个过期时间(token的有效剩余时间)
2. 删除客户端cookie
网关过滤器登录验证:
1. 加载公钥,解析token
2. 如果token无效,返回401
3. 设置白名单,比如登录接口