여러 시점에서 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 키를 숨길 수 있는 방법이 있을까요?