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)
})
});