أود إجراء مكالمات إلى واجهة برمجة التطبيقات (JSON API) في نقاط مختلفة. أحيانًا، أحتاج إلى تقديم مفتاح API — لذا أقوم بإنشائه من لوحة التحكم الإدارية، وأحتاج إلى تضمينه في مكالمة واجهة برمجة التطبيقات. على سبيل المثال:
var token = [مفتاح API]
$.ajax({
url: 'https://myforum.com/groups/[groupname].json',
contentType: "application/json",
headers: {
"Api-Key": token,
"Api-Username": "[اسم المستخدم]"
},
dataType: 'json',
success: function(result){
console.log('النتيجة = ' + result);
}
})
هل توجد طريقة لحماية هذا المفتاح بحيث لا يكون مرئيًا للمستخدمين؟
حاليًا، حلّي هو تنفيذ هذه الدالة خارج تطبيق Discourse الخاص بي — بحيث يقوم تطبيقي باستدعاء نقطة نهاية مستضافة في مكان آخر تقوم بدورها بتنفيذ هذه الدالة. بهذه الطريقة، يكون مفتاح API موجودًا في دالة مخزنة بشكل منفصل عن تطبيق Discourse الخاص بي، ولا يعرف تطبيقي سوى نقطة النهاية.
لكن، سيكون من الأنظف لو أمكنني تضمين هذه الدالة داخل تطبيق Discourse الخاص بي، على سبيل المثال في سمة أو إضافة. لكن يبدو لي أنه بغض النظر عن الطريقة، إذا كانت الدالة جزءًا من الكود، فإن المستخدم يمكنه عرض مفتاح API.
هل توجد طريقة لإخفاء مفتاح API؟