2017-09-28 16 views
1

배경 우리는 통합 플랫폼을 설정하는 곳 나는이 프로젝트에 참여하고사용 사례는 백엔드 API는 인터넷에 존재하고 OAuth2를

/ESB 및 측면을 따라이 API를 관리로 고정 될 때 생성물.

전략은 많은 통합이 처리되는 통합 계층을 갖는 것입니다. 이렇게하면 개별 시스템이 분리되어 한 곳에서 액세스 및 모니터링을 제어 할 수 있습니다.

저는 API 관리에 익숙하지만 몇 년 동안 엔터프라이즈 애플리케이션 통합 작업을 해왔습니다. 우리는 API 관리 플랫폼을 통해 백엔드 API를 노출 할 수있는 최초의 통합에

시나리오

. 백엔드 API와 호출 응용 프로그램은 인터넷에 존재하며 백엔드 API는 OAuth 2 (grant type = password)로 보안됩니다. 그러나 최종 사용자 자격 증명이 전송되는 것은 아닙니다. 이는 일종의 컴퓨터 간 흐름입니다.

우리는 클라이언트와 사용자 자격 증명을 받았으므로 대신 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 관리 제품의 사용 사례입니까?
  • 가능한 솔루션이 합리적입니까?

답변

0

꽤 공유지

      ⌐---------------> internal services 
consumer --> gateway --> esb --> gateway --> external services 

일반적 게이트웨이를 사용하기 때문에 당신의 게이트웨이 (귀하의 경우)의 OAuth 기능이있는 경우 첫 번째 바람직하다

      ⌐---------------> internal services 
consumer --> gateway --> esb --------------> external services 

두 가지 시나리오가 있습니다 보안 집행 포인트로서, 두 아이디어 모두 동일하며 공급자의 복잡성을 캡슐화하고 ESB의 나머지 서비스/소비자가 사용할 수있는 기능을 제공합니다.

그런데 구름에서 ESB가 잘 확장되지 않기 때문에 ESB 대신 마이크로 서비스 방식을 고려해야합니다.