Versão atual:

Retorno criptografado na fluig API em página WCM publica (com usuário não autenticado)

Estou com problemas em pegar o retorno em formato JSON de requisições AJAX ou WCMAPI.Read da API pública do fluig.

Mesmo depois de configurar Oauth Provider e o Oauth App (tanto para requisição POST quanto GET) e colocar o usuário Oauth como administrador, não consigo ver o retorno da requisição ao executar o código em um WCM público sem autenticação.

Por algum motivo o retorno vem criptografado. OBS: Com o usuário autenticado ele executa uma vez a chamada e em todas as outras requisições ele criptografa o retorno.

Código de utilizado (exemplo):


var consumerPublic     = "post-app" 
var consumerSecret     = "post-secret-app"; 
var tokenPublic     = "XXXXXXXXXXXXXXXXXXXXXXXX"; 
var tokenSecret     = "YYYYYYYYYYYYYYYYYYYYYYYY";

var _url  = WCMAPI.getServerURL(); 
var oauth = OAuth({
     consumer: {
          'public': consumerPublic,
          'secret': consumerSecret
     },
     signature_method:     'HMAC-SHA1',
     parameter_seperator: ",",
     nonce_length:         6 
});

var url_api    = '/api/public/ecm/dataset/datasets'; 
var request_data = {
     url:    _url + url_api,
     method:    'POST'
};        

var token = {
     'public': tokenPublic,
     'secret': tokenSecret 
};

var authorized = oauth.toHeader( oauth.authorize(request_data, token) );


var obj = {
    "name" : "dataset_teste_municipios",
    "fields" : ["nomeEstado", "codEstado", "nomeMunicipio", "codMunicipio"],
    "constraints" : [{
        "_field" :        "codEstado",
        "_initialValue":    "DF",
        "_finalValue" :     "DF",
        "_type":        1,
        "_likeSearch":        false
    }], 
    "order" : ["estado"] }


WCMAPI.Read({
     type:         request_data.method,
     url:          request_data.url,
     async:        true,
     data:         obj,
     contentType:  "application/json",
     headers:      authorized,
     success: function funcao(data) {
          console.log(data);
     },
     error: function () {
          console.log('error');
     }
});

Retorno da Requisição:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
     <head>
     </head>
     <body onload="document.forms[0].submit()">
          <noscript>
               <p>
               <strong>Note:</strong> Since your browser does not support JavaScript, you must press the Continue button once to proceed.
               </p>
          </noscript>

          <form action="https&#x3a;&#x2f;&#x2f;teste.fluigidentity.com&#x2f;cloudpass&#x2f;SPInitPost&#x2f
;receiveSSORequest&#x2f;gupbtn1hkl4ezfx2&#x2f;42" method="post">
               <div>
                    <input type="hidden" name="RelayState" value="http&#x3a;&#x2f;&#x2f;fluig.sistemateste
.org.br&#x2f;api&#x2f;public&#x2f;ecm&#x2f;dataset&#x2f;datasets"/>                
                    <input type="hidden" name="SAMLRequest" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZ
z0iVVRGLTgiPz4KPHNhbWwycDpBdXRoblJlcXVlc3QgQXNzZXJ0aW9uQ29uc3VtZXJTZXJ2aWNlVVJMPSJodHRwOi8vZmx1aWcuc
2lzdGVtYWZhZWcub3JnLmJyL3BvcnRhbC9pZHAvQUNTIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9mYWVnLmZsdWlnaWRlbnRpdHkuY
29tL2Nsb3VkcGFzcy9TUEluaXRQb3N0L3JlY2VpdmVTU09SZXF1ZXN0L2d1cGJ0bjFoa2w0ZXpmeDIvNDIiIElEPSJfNjkyYmNjN
TFjYTc2N2QxMDA3NjNmOTk5ZWFhNjdmODQiIElzc3VlSW5zdGFudD0iMjAxNy0wNy0xMFQxOToyMDoyOS41NzBaIiBQcm90b2Nvb
EJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIFByb3ZpZGVyTmFtZT0iVG90d
nNMYWJzIiBWZXJzaW9uPSIyLjAiIHhtbG5zOnNhbWwycD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48c
2FtbDI6SXNzdWVyIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6ZW50aXR5IiB4bWxuczpzYW1sMj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI
+VG90dnNMYWJzPC9zYW1sMjpJc3N1ZXI+PHNhbWwycDpOYW1lSURQb2xpY3kgRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDp0cmFuc2llbnQiLz48L3NhbWwycDpBdXRoblJlcXVlc3Q
+"/>
               </div>
               <noscript>
                    <div>
                         <input type="submit" value="Continue"/>
                    </div>
               </noscript>
          </form>
     </body>
</html>

SOLUÇÃO DO PROBLEMA:

Como o Laercio havia me alertado eu estava usando as chaves pra usuário de autenticação OAuth erradas, porém mesmo despois ter corrigido o erro permanecia. Foi ai que ao checar todos os parâmetros eu constatei que a url passada estava errada.

Ao utilizar a chamada:

var _url  = WCMAPI.getServerURL();

Ela trazia a minha url como "http://fluig.meusite.com.br:80", e ao utilizar a porta específica a autenticação entrava numa restrição de segurança do Fluig.

Versões (3):

Ver a versão formatada

Retorno criptografado na fluig API em página WCM publica (usuário não autenticado)

Comentário

new question