اذهب إلى المحتوى
  • 0

كيفية استخدام sanctum في حماية الواجهة البرمجية API في Laravel

محمود موسى2

السؤال

السلام عليكم.

أتسائل ما هي الخطوات المنطقية الصحيحة لعمل api محمية ب sanctum.

انا اقوم بعمل login للمستخدم ثم برجع الtoken وبخزنه في الlocalstorage بالچافاسكربت وببعته مع كل مرة برسل فيها request للباك إند.

السؤال هنا.. هل طبيعي يكون الapi token مكشوف للمستخدمين بالشكل دا؟ بحكم انه متخزن في الlocalstorage. ولا فيه طريقة تانية المفروض استخدم بيها التوكن؟

أرجو توضيح الخطوات الصحيحة لإستخدام التوكين بالچافاسكربت أو axios

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

حماية مفتاح الواجهة البرمجية API Token هي مسؤولية المستخدم نفسه وليست مسؤولية المطور، على المستخدم أن يختار التعامل مع النظام باستخدام متصفح آمن ومحمي يمنع المستخدمين الآخرين أو المواقع أو البرامج الأخرى من الوصول إلى محتويات المخزن المحلي localstorage، أيضًا يجب الانتباه لاستخدام اتصال آمن ك HTTPS ليتم إرسال الطلب مع المفتاح عبره ومنع احتمال التنصت على الطلب واستخراج مفتاح المستخدم من قبل طرف ثالث

إذا كنت تقصد أن المفتاح معرض لاستخراجه من قبل المستخدم نفسه فلا يمكنك تقريبًا حماية ذلك، لأن النظام لديك ينظر لكافة الطلبات الواردة إليه على أنها طلبات من مستخدمين ومن الصعب التحقق من مصدر تلك الطلبات هل أتت عبر واجهة موقعك أم قام المستخدم ببناءها بنفسه

يمكنك تخزين التوكن ضمن localstorage او ضمن Cookies وبذلك سيتم إرسالها مع كل طلب بشكل آلي لكن يجب إعداد axois لذلك عبر إضافة السطر التالي

axios.defaults.withCredentials = true;

يمكنك إرسال طلب للمسار sanctum/csrf-cookie/ ليتم إرسال التوكن بشكل آلي من قبل sanctum وتعيينها لدى العميل ليتم إرسالها بشكل آلي مع الطلبات اللاحقة

axios.get('/sanctum/csrf-cookie').then(response => {
    // تسجيل الدخول
});

يمكنك الاستفادة من قراءة الإجابات على السؤال التالي

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...