Gostaria de fazer chamadas à API JSON em vários pontos. Às vezes, preciso fornecer uma chave de API—então, a gero no painel de administração e preciso incluí-la na chamada à API. Por exemplo:
var token = [CHAVE DE API]
$.ajax({
url: 'https://myforum.com/groups/[nome-do-grupo].json',
contentType: "application/json",
headers: {
"Api-Key": token,
"Api-Username": "[usuário]"
},
dataType: 'json',
success: function(result){
console.log('resultado = ' + result);
}
})
Existe alguma maneira de proteger essa chave para que não fique visível aos usuários?
No momento, minha solução é fazer com que essa função ocorra fora da minha aplicação Discourse—então, minha aplicação chamaria um endpoint hospedado em outro local, que por sua vez executaria essa função. Dessa forma, a Chave de API fica em uma função armazenada separadamente da minha aplicação Discourse, e minha aplicação conhece apenas o endpoint.
PORÉM, seria mais limpo se eu pudesse incluir essa função dentro da minha aplicação Discourse, por exemplo, em um tema ou plugin. Mas parece-me que, não importa o que eu faça, se fizer parte do código, um usuário poderá visualizar a Chave de API.
Existe alguma maneira de ocultar a Chave de API?