Mule 4 HTTP 请求客户端访问 OAuth 2 端点

标签 mule mule-studio mule-esb

有一个由 OAuth2 保护的外部服务(比如说“https://external-service.com/service”)。我有客户端 ID(假设为“123_my_client_id”)、 secret ID(“324_mysecret”)和访问 token URL(假设为“https://access-token.com/access-token”)返回 token 。
我想用我的 Mule 4 Http 请求访问这个服务。我跟着这个https://docs.mulesoft.com/connectors/http/http-authentication#oauth2-client-credentials ,但找不到任何可行的解决方案。

这可以在 Mule 3.9 中完成。但仍在努力为 Mule 4 设置此 http 请求配置。任何人都可以帮助设置此请求配置。

最佳答案

为了将请求身份验证迁移到 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 元素,但它应该可以正常启动。忽略它。

关于Mule 4 HTTP 请求客户端访问 OAuth 2 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54007544/

相关文章:

java - 无法在 mule 流中使用 Anypoint MQ

java - 如何在 Mule 3.4 ESB 中使用 Datamapper 映射数据库中的 Excel 文件

apache-camel - Apache Camel 和其他 ESB 产品

java - 如何在 mule 中使用 maven 构建时将 Maven 存储库添加到 zip 文件中

mule - 无法对选择组件中的 when 属性使用 && 运算符

java - 如何使用 Mule ESB 在 smtp 中添加多个邮件附件

maven - 使用 Maven 从域项目创建 Mule 可部署存档

java - Mule JaxB 解码无法解析 ArrayList

java - Mule ESB(Groovy 脚本): How would I check a value and add a new key value mapping to a java. util.LinkedList

schema - 我在哪里可以找到 Mule 对象存储架构?