Токен доступа не обновляется автоматически - PullRequest
0 голосов
/ 12 декабря 2018

Я использую OAuth2 Client Credentials Protocol в Mule HTTP Request Config (Mule runtime 3.8.5), и я впервые настраиваю его, но, похоже, он не может автоматически обновлять токен доступа, когда онИстек срок действия (каждый токен длится 90 минут), и вместо этого он вернет полезную нагрузку с error_description = 'Access Token Expired'.Что я пропустил?

<http:request-config name="HTTPS_Request_Configuration" protocol="HTTPS" host="${API.HOST}" port="${API.PORT}" tlsContext-ref="TLS_Configuration" doc:name="HTTP Request Configuration" responseTimeout="${RESPONSE.TIMEOUT}">
    <oauth2:client-credentials-grant-type clientId="${TOKEN.API.CLIENT_ID}" clientSecret="${TOKEN.API.CLIENT_SECRET}" tlsContext-ref="TLS_Configuration">
        <oauth2:token-request tokenUrl="https://${API.HOST}${TOKEN.API.PATH}" scopes="Entitlement_Request" refreshTokenWhen="#[payload.error_description == &quot;Access Token Expired&quot;]">
            <oauth2:token-response accessToken="#[json:access_token]" expiresIn="#[json:expires_in]"/>
        </oauth2:token-request>
    </oauth2:client-credentials-grant-type>
</http:request-config>

<until-successful maxRetries="2" millisBetweenRetries="3000" synchronous="true" doc:name="Until Successful" failureExpression="#[message.inboundProperties['http.reason'] != &quot;Bad Request&quot;]">
    <http:request config-ref="HTTPS_Request_Configuration" path="${DATA.API.PATH}" method="PATCH" doc:name="HTTP">
        <http:request-builder>
            <http:header headerName="Content-Type" value="application/json"/>
        </http:request-builder>
        <http:success-status-code-validator values="200..599"/>
    </http:request>
</until-successful>
...