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.

compartilhar
  • Na verdade o código retornado era uma mensagem de erro criptografado. Essa mensagem aparecida pois não estava utilizando a url correta para chamada da API.

    Uákiti Pires   10 de Jan de 2020
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags api datasets-customizados oauth ou faça a sua própria pergunta.