背景
我正在开展一个项目,我们正在建立一个集成平台/ESB 以及一个 API 管理产品。
策略是有一个集成层,通过它处理大部分集成。这将各个系统解耦,可以在一个地方控制访问和监控。
我对 API 管理也很陌生,但已经从事企业应用程序集成多年。
设想
在第一个集成中,我们将通过 API 管理平台公开后端 API。后端 API 以及调用应用程序存在于 Internet 上,并且后端 API 使用 OAuth 2(授权类型 = 密码)进行保护。但是,没有发送任何最终用户凭据,这是一种机器对机器的流程。
我们已经获得了客户端和用户凭据,我们的想法是将其从应用程序中抽象出来,应用程序将根据 API 管理产品进行身份验证。
问题
然而,这种情况很难在 API 管理产品中实现,它似乎需要中介,因为 API 网关不能只将请求发送到后端 API,它首先需要获取令牌才能调用 API。
我发布了另一个问题(WSO2 APIM - Backend service uses OAuth 2 with Password Grant),它更关注产品,但我想从更广泛的角度同时询问这种情况。
可能的解决方案
使用 ESB 来调解流向后端 API 的 OAuth 流,并将 API 管理产品作为外观,在其中管理身份验证和其他方面以用于调用应用程序。
问题
- 由于 API 管理产品不支持使用 OAuth 2 对后端 API 进行身份验证,我想知道这种情况是否不寻常?即在使用 OAuth 时抽象出后端 API 身份验证。
- 这是 API 管理产品的用例吗?
- 可能的解决方案是否合理?