① 请求携带 Token 调用
- 如下图客户端携带 token 访问 A 服务。
- A 服务通过 FeginClient 调用 B 服务获取相关依赖数据。
- 所以只要带 token 访问 A 无论后边链路有多长 ABCD 都可以获取当前用户信息。
- 权限需要有这些整个链路接口的全部权限才能成功。
有 token 调用不需要加 Inner /FROM_IN / @NoToken 等!!!!!
② 请求无 token 调用
很多情况下,如下情况,无法携带 token 传递
- 异步调用
- 定时任务调用
- MQ 调用
- 未登录接口调用
服务调用方:FROM_IN 参数声明
- 服务调用方:FeignClient 需要带 FROM_IN 声明是无 token 调用
- v5.6+ 支持通过 @NoToken 注解实现相同的效果
服务提供方:@Inner 注解
通过 inner 注解使得目标接口对内外调用进行限制,这样就避免接口对外暴露的安全问题。只能通过内部调用才能使用,浏览器不能直接访问该接口。