api - 设计api结构时如何避免2次api auth
问题描述
PS:3个系统可以看成是通过HTTP restful api连接的3个微服务。
如下图所示:
现在的情况是:
当api使用量为1时(即api认证通过后,外层api用户调用账号系统),
而当api使用量为2,3时(即外层api用户在api认证通过后调用业务系统),
并且当api使用量为4,5时(当api auth通过时内部业务系统调用帐户系统)
这3个用法都很好。
但是当api使用量为2,3,4,5时(即外层api用户在api认证通过后调用业务系统,但业务系统必须调用account系统才能完成该功能。)
这种 api 用法必须执行 api auth 2 次,我认为这会使事情变得复杂。
要求是外部api用户和内部系统在调用业务系统或账户系统时都必须通过api auth。
谁能告诉我如何更简单地进行身份验证?
谢谢你!
解决方案
是的。提供一个单独的身份验证服务器,并教你提到的所有业务服务与之交谈。当涉及到相当复杂的微服务架构时,这很常见。
然后,您可以轻松地与任意数量的(微)服务共享相同的 JWT(顺便说一句,没关系:无论您喜欢什么)。
推荐阅读
- generics - DI,具有抽象、通用父级的具体类
- excel - 使用 Google AppScript 将 .csv 文件转换为 .xls
- h.264 - 编码器中使用的 fixed_frame_rate_flag 是什么?
- angular - Angular CanActivate 在浏览器刷新时失败,即使 observable 返回 true
- spring-mvc - 将 spring-data-jpa 的问题从 1.9.5.RELEASE 升级到 2.1.2.RELEASE
- apache-spark - DCOS 集群上的 Spark 提交失败并显示“仅通过 REST 提交 API 支持 Mesos 集群模式”
- c# - 如何解决c#中的实体问题?
- amazon-web-services - 如何防止 AWS 联合用户在 AWS 控制台上看到其他联合用户资源
- .net - 为什么 Win32_BIOS 类中有几个描述 BIOS 版本的版本字符串?
- wpf - 通过 itemsource 模型的属性对 ItemsControl 进行分组