WSO2 EI и WSO2 Developer - настройка прокси-сервера ESB с базовой аутентификацией http - PullRequest
0 голосов
/ 19 февраля 2019

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

Служба прокси - это простаяпройти через сервис;он получает запрос от веб-приложения и перенаправляет его в Soap Web Service, получает ответ от 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Прокси Сервис;этот вопрос касается базовой аутентификации между ESB Proxy Service и «внешней» веб-службой.

1 Ответ

0 голосов
/ 05 апреля 2019

То, что вы сделали, правильно.Чтобы вызвать службу, защищенную с помощью 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

...