一 ace-auth 模块的关键类
1 AuthController
- /jwt 开头的控制器,登录、刷新、校验 jwt
- 网关不拦截这个链接的请求
2 ClientController
- 对外暴露的接口,可通过客户端的 id 和密钥获取到对应的授权相关资源
3 ServiceController
4 ClientTokenInterceptor
- 拦截 feign 接口发起的请求,并自动添加请求头token
5 ServiceAuthRestInterceptor
- 拦截的 url 为 /service/**(在 WebConfiguration 中配置)
- 服务之间的调用鉴权
- 一般 feign、或者 restTemplate 方式调用
6 UserAuthRestInterceptor
- 拦截的 ur l为 /service/**(WebConfiguration)
- 获取用户的 token 并解析,为会话上下文添加用户信息(ThreadLocal)
7 OkHttpTokenInterceptor
- 拦截所有的feign请求,OkHttp重写请求
- OkHttp3一个强有力的机制,能够监控,重写以及重试(请求的)调用
二 核心表
1 auth_client :客户端的 id 和名称等
2 auth_client_service: 服务端允许调用的客户端关联表
三 认证的时序图
四 参考
1 视频
基于Spring Cloud微服务化开发平台Cloud-platform项目完整解析_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1SD4y1o7cN?p=10&spm_id_from=pageDriver
2 图文
基于Spring Cloud微服务化开发平台Cloud-Platform完整解析 - 掘金
https://juejin.cn/post/6875998121802301453/