Клиент HTTP-запроса Mule 4 для доступа к конечной точке OAuth 2 - PullRequest
0 голосов
/ 02 января 2019

Существует внешняя служба (скажем, "https://external -service.com / service "), которая защищена OAuth2. У меня есть идентификатор клиента (скажем, «123_my_client_id»), секретный идентификатор («324_mysecret») и URL-адрес токена доступа (скажем, «https://access -token.com / access-token »), который возвращает меня токен.
Я хочу получить доступ к этому сервису с помощью моего запроса Mule 4 Http. Я следовал этому https://docs.mulesoft.com/connectors/http/http-authentication#oauth2-client-credentials,, но не мог найти никакого работоспособного решения.

Это можно сделать в Муле 3.9. но все еще изо всех сил пытается настроить эту конфигурацию http-запроса для Mule 4. Может кто-нибудь, пожалуйста, помогите настроить эту конфигурацию запроса.

1 Ответ

0 голосов
/ 03 января 2019

Чтобы перенести аутентификацию запроса в Mule 4, конфигурация теперь принадлежит компоненту http:request-connection, а конфигурация аутентификации HTTP должна быть размещена в компоненте http:authentication.Это относится ко всем поддерживаемым типам аутентификации: базовая, дайджест, NTLM и OAuth2.

Из приведенного в приведенной ссылке примера:

    <http:request-config name="HTTP_Request_Configuration"
                     host="some.api.com" port="80" basePath="/api/1.0">
        <oauth:client-credentials-grant-type
            clientId="your_client_id" clientSecret="your_client_secret"
            tokenUrl="http://some.api.com/api/1.0/oauth/token"
            scopes="access_user_details, read_user_files">
        </oauth:client-credentials-grant-type>
    </http:request-config>

Изменения во что-то вроде:

    <http:request-config name="HTTP_Request_Configuration">
        <http:request-connection host="some.api.com" port="80">
            <http:authentication>
                <oauth:client-credentials-grant-type
                    clientId="your_client_id" clientSecret="your_client_secret"
                    tokenUrl="http://some.api.com/api/1.0/oauth/token" scopes="access_user_details, read_user_files" />
            </http:authentication>
        </http:request-connection>
    </http:request-config>

Studio может жаловаться на элемент oauth, но он должен нормально запускаться.Просто игнорируй это.

...