首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当后端API存在于internet并使用OAuth2保护时,API管理产品的用例

当后端API存在于internet并使用OAuth2保护时,API管理产品的用例
EN

Stack Overflow用户
提问于 2017-09-28 20:58:48
回答 1查看 128关注 0票数 1

背景

我正在从事一个项目,我们正在建立一个集成平台/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管理产品的用例吗?
  • 可能的解决办法是否合理?
EN

回答 1

Stack Overflow用户

发布于 2017-09-29 06:58:13

有两种方案是非常共有的

代码语言:javascript
复制
                           ⌐---------------> internal services
consumer --> gateway --> esb --> gateway --> external services

代码语言:javascript
复制
                           ⌐---------------> internal services
consumer --> gateway --> esb --------------> external services

如果网关具有OAuth功能(在您的情况下),则首选第一种方法,因为通常将网关用作安全执行点,在这两种思想中,封装提供者的复杂性并使其功能可供ESB中的其他服务/消费者使用。

顺便说一句,在云中,您应该考虑一种微服务方法,而不是ESB,因为ESB不能很好地扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46478219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档