2016-09-23 3 views
1

많은 타사 서비스 공급자를 사용하면 시스템에서 이벤트가 발생할 때 시스템에 "Webhook"(일명 HTTP POST)을 구성 할 수 있습니다. 서비스 제공 업체는 다양한 인증 방법 (HMAC, OAuth, TLS 등)을 사용합니다. 예를 들어WS02 API 관리자 2.0

는 Company1 이벤트가 (승인 등의 거래) 서비스 제공자에 발생하는 경우 ServiceABC이 http://company1.com/eventlistener에 통지를 보내도록 구성 :

ServiceABC.com -> HTTP POST -> http://company1.com/eventlistener 

http://company1.com/eventlistener

가 DMZ에 있습니다. 메시지를 인증하고 필요에 따라 백엔드 서비스에 전달합니다.

[DMZ] http://company1.com/eventlistener -> | [Behind] http://backendUrl/service 

이 예에서는 서비스 공급자가 OAuth를 지원하지 않는다고 가정합니다. 인증은 사용자 정의 헤더 체계를 사용하여 수행됩니다.

이 시나리오에서는 WSO2 API 관리자를 사용할 수 있습니까?

API 관리자가 아닌 경우 WSO2 ESB를 사용할 수 있습니까?

답변

0

API 관리자가 올바른 해결책입니다. API 관리자에는 게이트웨이, 게시자, 저장소, keymanager 및 트래픽 관리자의 5 가지 주요 구성 요소가 있습니다. 기본 분산 설정에서이 5 가지 구성 요소는 5 대의 컴퓨터에서 실행될 수 있습니다. API Publisher는 게이트웨이 (API의 실제 아티팩트가 있음) 및 저장소 (가입 가능한 API의 가상 표현이 여기에 있음)에 API를 게시합니다. 게이트웨이는 API를 외부에 노출합니다. 그래서 그것은 DMZ에 있습니다. API 스토어는 원하는 것에 따라 DMZ에있을 수도 있습니다. Keymanager는 인증 (예 : OAuth2)을 처리하며 MZ에 있어야합니다. 트래픽 조절자는 요청 조절에 사용됩니다.

백엔드 인증은 간단한 customization을 사용하여 수행 할 수 있습니다.

클러스터링 설명서 here을 찾을 수 있습니다. APIM 배치 패턴은 here입니다.

희망이 도움이됩니다.

+0

인증 스키마를 수행 할 수 있도록 특정 자원에 대한 액세스 토큰을 어떻게 비활성화 할 수 있습니까? 예를 들어 HTTP POST/events는 특정 IP 범위로 제한되지만 토큰은 사용되지 않습니다. – Brian11

+0

'관리 '탭에서 AuthType을'없음 '으로 설정하십시오. https://ibin.co/2wC4ns7vCnGd.png – Bee