Конечная точка токена Cognito возвращает `invalid_client` в стеке, но возвращает действительный токен в локальном - PullRequest
0 голосов
/ 13 апреля 2020

Я получаю сообщение об ошибке ниже при вызове конечной точки токена Cognito, развернутой в стеке.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <jsonObject>
         <error>invalid_client</error>
      </jsonObject>
   </soapenv:Body>
</soapenv:Envelope>

, но когда я вызываю ту же конечную точку из локальной сети или из почты, я получаю знак Оба удостоверения одинаковы. Я не понимаю, почему.

код ниже

<resource  methods="POST" uri-template="/getToken">
    <inSequence>
        <script language="js"><![CDATA[var payload = mc.getPayloadXML();
            var log = mc.getServiceLog();
            var client_id = payload..*::client_id.toString();
            var client_secret = payload..*::client_secret.toString();
            mc.setProperty("client_id", client_id);
            mc.setProperty("client_secret", client_secret);]]>
        </script>
        <payloadFactory media-type="json">
            <format/>
            <args/>
        </payloadFactory>
        <property name="ContentType" scope="axis2" type="STRING" value="application/x-www-form-urlencoded"/>
        <property expression="fn:concat($ctx:client_id,':',$ctx:client_secret)" name="credentials" scope="default" type="STRING"/>
        <property expression="fn:concat('Basic ', base64Encode($ctx:credentials))" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
        <property name="FORCE_POST_PUT_NOBODY" scope="axis2" type="BOOLEAN" value="true"/>
        <property name="DISABLE_CHUNKING" scope="axis2" type="STRING" value="true"/>
        <cache collector="false" hashGenerator="org.wso2.carbon.mediator.cache.digest.DOMHASHGenerator" id="cognito-token" scope="per-host" timeout="3600">
            <onCacheHit>
                <log level="custom">
                    <property expression="/" name="[usage-service-api]:: CHACHE HIT"/>
                </log>
                <respond/>
            </onCacheHit>
            <implementation maxSize="1000" type="memory"/>
        </cache>
        <call>
            <endpoint>
                <http method="post" uri-template="https://xxxxxxxxxx.amazoncognito.com/oauth2/token?grant_type=client_credentials"/>
            </endpoint>
        </call>
        <property name="RESPONSE" scope="default" type="STRING" value="true"/>
        <cache collector="true" id="cognito-token" scope="per-host"/>
        <respond/>
    </inSequence>
    <outSequence/>
    <faultSequence/>
</resource>
...