Me gustaría realizar llamadas a la API JSON en varios puntos. A veces, necesito proporcionar una clave de API, por lo que genero una en el panel de administración y debo incluirla en la llamada a la API. Por ejemplo:
var token = [API KEY]
$.ajax({
url: 'https://myforum.com/groups/[groupname].json',
contentType: "application/json",
headers: {
"Api-Key": token,
"Api-Username": "[username]"
},
dataType: 'json',
success: function(result){
console.log('result = ' + result);
}
})
¿Existe alguna forma de proteger esta clave para que no sea visible para los usuarios?
Por ahora, mi solución es que esta función se ejecute fuera de mi aplicación Discourse; es decir, mi aplicación llamaría a un punto de conexión alojado en otro lugar que luego ejecutaría esta función. De esta manera, la clave de API está en una función almacenada por separado de mi aplicación Discourse, y mi aplicación solo conoce el punto de conexión.
PERO, sería más limpio si pudiera incluir esta función dentro de mi aplicación Discourse, por ejemplo, en un tema o complemento. Pero parece que, sin importar lo que haga, si forma parte del código, un usuario podrá ver la clave de API.
¿Existe alguna forma de ocultar la clave de API?