Shiro + CAS + JWT + 前后端分离 认证流程(无token刷新版)
2020-12-18 17:19:09 24 举报
Shiro + CAS + JWT + 前后端分离 认证流程(无token刷新版)
作者其他创作
大纲/内容
N
调用isAccessAllowd
前台拿到 CAS Server 的地址,重定向到登录页面,用户进行登录
调用 CAS Server验证票据, 获取用户信息
调用 MyCasFilter(extends CasFilter)onLoginSuccess
生成 JWT token,拼接到前端首页后,调用 issueSuccessRedirect 执行302重定向 到前端首页
验证JWT token有效性(特殊标识、时间戳、是否在注销黑名单内)
直接返回,状态码200
预处理
是否OPTIONS请求
调用onAccessDenied,返回 401和CAS Server 地址 给前台
Y
前端从url中获取token,存入localStorage
获取token,尝试登录
token注销后会存入redis,服务端做黑名单,黑名单默认保存一周,可改。登录时会验证token是否在黑名单内。
ApiV2Filter extends FormAuthenticationFilter
调用 GzptRealm(extends CasRealm)doGetAuthenticationInfo
特殊:此处没有进行token刷新,原因为CAS Server全局会话过期时间固定,不支持刷新
验证JWT有效性,并获取用户信息
执行后续filter
此处由用户登录后CAS Server回调 或者已有token进行验证
0 条评论
下一页