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 キーを隠す方法はありますか?