Я использую WSO2 APIM (2.5.0) и IS (5.6.0).Они оба интегрированы и работают хорошо.
Теперь, если я подключу сторонний API в API Management и использую токен oauth, я смогу получить к нему доступ.Но вопрос заключается в том, как обрабатывать любые внешние или сторонние API, которые имеют свою собственную аутентификацию.
В общем, SO, используя маркер WSO2 APIM, я могу получить доступ к встроенному API для использования, но мы не сможем получитьлюбой ответ, поскольку встроенный API имеет свою собственную аутентификацию (базовую или oauth).
Как этого добиться в APIM.
Любая помощь или руководство будут полезны.
РЕДАКТИРОВАТЬ: Вот последовательность, которую я использую (спасибо Би за руководство)
<sequence xmlns="http://ws.apache.org/ns/synapse" name="backend-token-sequence">
<property name="inputmessage" expression="get-property('registry', 'gov:/Login/msg/inputmessage.json')" scope="default" type="STRING"/>
<script language="js">
var payload = mc.getProperty("inputmessage");
mc.setPayloadJSON(payload)
</script>
<header name="Content-Type" scope="transport" value="application/json"/>
<property name="messageType" value="application/json" scope="axis2" type="STRING" description="messageType"/>
<property name="temp" expression="$axis2:REST_URL_POSTFIX"/>
<property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>
<property name="DISABLE_CHUNKING" value="true" scope="axis2" type="STRING"/>
<call blocking="true">
<endpoint>
<http uri-template="https://xx.com/auth/login" method="POST" />
</endpoint>
</call>
<property name="x-access-token" scope="transport" expression="json-eval($.token)"/>
<property name="REST_URL_POSTFIX" scope="axis2" expression="$ctx:temp"/>
</sequence>
Это последовательность притока, которая используется для одного из API.Я вызываю API, используя APIM URL с методом GET, передавая маркер-носитель APIM
Спасибо