السلام عليكم
هل يمكن جعل django api تعمل في تطبيقات محددة
هناك أكثر من طريقة،
أبحث عن JWT Tokens
كون خوارزمية سرية خاصة بك
أضف parameter لكل الـrequests سمه token مثلاُ
الـtoken تحتوي على رمز تكونه خوارزمية سرية، بناءاً على عوامل متغير كالوقت مثلاً أو بقية الـparameters
مثلاً
md5(unixtime- digit + 534)
والسيرفر يقوم بتوليد الرمز بنفس الخوارزمية ومن ثم يقارن النتيجة مع ما استلمه مع الـrequest
ثم تأكد من مناسبتها لغرضك. قد يكفيك توليد رمز عشوائي بطريقة آمنة (كما تفعل المكتبة التي ذكرها mr_student). يوجد من ينصح بعدم استخدام JWT.
هذا مشابه لفكرة الـOne Time Password.
2.1. النصيحة الجارية هي أن لا تستخدم خوارزمية كتبتها بنفسك في مجال الأمان. الخوارزميات المعتمدة والمختبرة من قبل خبراء أضمن. ابحث عن OTP والمكتبات التي توفرها.
2.2. لا أعرف هل OTP مناسبة لأن تستخدم كـAPI Key أو لا، وإن كانت مناسبة هل تضيف أي حماية أو لا. إن استخدمتها ستحتاج لمفتاح يعرفه السيرفر والتطبيق لتمرره للخوارزمية. هذا المفتاح يعادل الـAPI Key لأنه أ) معروف للسيرفر والتطبيق، ب) يستطيع سارقه تنفيذ طلبات إلا لو تغير (بإضافة الـAPI Key أو توليد OTP). الفرق أنك سترسل OTP مختلف كل فترة.
التعليقات