Есть ли способ обеспечить базовую аутентификацию для служб REST, развернутых в последней версии wso2ei 6.4.0? - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу использовать WSO2EI 6.4.0 в качестве прокси для платформы аутентификации сервисов SOAP и REST (позже может быть авторизация).Я нашел решение в документации по wso2 (https://docs.wso2.com/display/EI640/Applying+Security+to+an+API),, но, к сожалению, оно не работает.

Добавление элемента «обработчик» в определение сервиса

<handlers>
    <handler class="org.wso2.carbon.integrator.core.handler.RESTBasicAuthHandler"/>
</handlers>

приводит к исключению во время разработки(затмение):

Invalid mediator <handler class="org.wso2.carbon.integrator.core.handler.RESTBasicAuthHandler"/>    1d6bbce1-08e3-42d5-b550-6a4e224b0028.xml    /.tmp/.org.wso2.developerstudio.eclipse.esb line 15 org.wso2.developerstudio.eclipse.gmf.esb.diagram.synapseerror

Игнорирование и развертывание такого API приводит к тому, что API перестает работать.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 13 декабря 2018

Способ, которым вы пытаетесь добавить базовую аутентификацию для API в WSO2EI 6.4.0, является правильным.Студия разработчика выдаст предупреждение, как вы упомянули, но это не должно быть проблемой.Студия разработчика позволит устанавливать обработчик независимо от предупреждения, и вы сможете создать составное приложение, которое включает в себя API, и развернуть его в ESB.Ниже приведен пример API с RESTBasicAuthHandler.

<?xml version="1.0" encoding="UTF-8"?>
<api context="/testapi" name="testapi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST" protocol="https" url-mapping="/*">
        <inSequence>
            <send>
                <endpoint name="testapi_EP">
                    <http uri-template="http://localhost:8080/testapi"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
    <handlers>
        <handler class="org.wso2.carbon.integrator.core.handler.RESTBasicAuthHandler"/>
    </handlers>
</api>
...