WSO2 EI и WSO2 Developer - настройка прокси-сервера ESB с базовой аутентификацией http

Я использую WSO2 EI 6.3.0 и WSO2 Developer Studio 3.8.0.
Я работаю с проектом ESB и прокси-сервисом внутри него.

Прокси-сервис - это простой сквозной сервис; он получает запрос от веб-приложения и перенаправляет его в веб-службу Soap, получает ответ от WS и возвращает его веб-приложению.

Я понял эту конфигурацию после этого урока:
https://youtu.be/3OsuGhEMQgc

Настройка очень проста, все работало нормально, пока я не нашел веб-сервис, конечная точка которого имеет базовую аутентификацию http.

Я сделал это работает благодаря этой статье:
https://medium.com/@Jenananthan/wso2-esb-how-to-invoke-basic-auth-protected-endpoint-service-5bcdd8290cb4

Ниже следует XML, описывающий прокси-сервис:

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="ProxyWithBasicAuth" startOnLoad="true" trace="disable" transports="https" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <endpoint name="endpoint_urn_uuid_xxxxxxxx-yyyy-zzzz-1111-234567892345">
            <address trace="disable" uri="https://here.goes.the.uri.of.the.ws.endpoint"/>
        </endpoint>
        <inSequence>
            <property value="this_is_the_username" name="username" scope="default" type="STRING"/>
            <property value="this_is_the_password" name="password" scope="default" type="STRING"/>
            <property expression="fn:concat($ctx:username,':',$ctx:password)" name="credentials" scope="default" type="STRING"/>
            <property expression="fn:concat('Basic ', base64Encode($ctx:credentials))" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
        <faultSequence/>
    </target>
</proxy>

Итак, эта конфигурация (файл xml) работает, но я написал весь раздел, который включает базовую аутентификацию, без использования визуального или перетаскиваемого элемента графического интерфейса.

Мои вопросы:
1) это правильный способ настройки базовой аутентификации на прокси-сервисе?
2) есть ли элемент GUI (перетаскивание), который позволяет сделать эту настройку визуально?

Примечание: мне не нужно бороться с базовой аутентификацией между "клиентами" и ESB Proxy Service; Этот вопрос касается базовой аутентификации между ESB Proxy Service и "внешней" веб-службой.

0 ответов

То, что вы сделали, правильно. Чтобы вызвать службу, защищенную с помощью Basic Auth, мы просто должны установить заголовок Authorization для сообщения. Вы можете использовать Header Mediator[1] или Property посредника (как вы уже использовали), чтобы сделать это. Не существует специального посредника (или элемента графического интерфейса в инструменте), специально предназначенного для настройки заголовка авторизации.

Кстати, вы можете рассмотреть вопрос о сохранении паролей в безопасном хранилище [2], а не в виде простого текста в конфигурации Synapse.

[1] https://docs.wso2.com/display/EI640/Header+Mediator[2] https://docs.wso2.com/display/EI640/Working+with+Passwords+in+the+ESB+profile