Я использую 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 == "Access Token Expired"]">
<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'] != "Bad Request"]">
<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>