Versão atual:

Consumo Api pública - Cross Domain Origin

Boa tarde estou implementando um script js para consumo de uma API pública do Fluig, realizei todos os passos necessários para implementar o Auth e quando testo pelo Postman não tenho problema, porém quando faço uma requisição ajax pelo meu script no navegador tenho o seguinte erro:

Access to XMLHttpRequest at 'http://xxx.xxx.xxx.xxx:9021/api/public/2.0/workflows/requests/sla?initialStartDate=2016-01-01&oauth_consumer_key=33fbbe0c-5266-4b4c-b3b3-083d084a5219&oauth_nonce=mog9Lb&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1558982442&oauth_version=1.0&oauth_token=460d7bc6-bf31-43be-8982-314f2f205d6d&initialStartDate=2016-01-01&oauth_signature=bvi0ANf65CQHWM61AUCG52qGwdc%3D' from origin 'http://xxx.xxx.xxx.xxx' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Sei que isso acontece devido a um padrão implementado pelos navegadores.

O que gostaria de saber é se há uma alternativa no Fluig para resolver isso, como em outras linguagens de programação que conheço .. Adicionando no header da resposta o CORS.

Agradeço.

*Script*

$.getScript('../teste/crypto-js', function()
{
    var oauth = OAuth({
        consumer: {
            key: 'xxxx', /* Nome alterado de "public" para "key" */
            secret: 'xxxx'
        },
        signature_method: 'HMAC-SHA1',
        hash_function: function (base_string, key) { 
            return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64)
        },
        nonce_length: 6
    })

    var request_data = {
        url: 'http://187.87.38.51:9021/api/public/2.0/workflows/requests/sla?initialStartDate=2016-01-01',
        method: 'GET',
        data: {}
    }

    var token = {
        key: 'xxxx', /* Nome alterado de "public" para "key" */
        secret: 'xxxx'
    }

    $.ajax({
        contentType: "application/json",
        crossDomain: true,
        url: request_data.url,
        type: request_data.method,
        data: oauth.authorize(request_data, token)
    })
    .done(function(data) {
        console.log(data)
    })
});

Versão (1):

Ver a versão formatada

Consumo Api pública - Cross Domain Origin

Comentário

new question