Я хочу выполнять вызовы к JSON API в различных местах. Иногда мне нужно предоставить API-ключ — поэтому я генерирую его в панели администратора и должен включить его в вызов API. Например:
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);
}
})
Есть ли способ защитить этот ключ, чтобы он не был виден пользователям?
Сейчас мое решение состоит в том, чтобы выполнять эту функцию вне моего приложения Discourse — то есть мое приложение вызывает конечную точку, размещенную в другом месте, которая затем выполняет эту функцию. Таким образом, API-ключ находится в функции, хранящейся отдельно от моего приложения Discourse, и мое приложение знает только конечную точку.
НО было бы чище, если бы я мог включить эту функцию в мое приложение Discourse, например, в тему или плагин. Но, как мне кажется, каким бы ни был способ, если это часть кода, пользователь может увидеть API-ключ.
Есть ли способ скрыть API-ключ?