حماية مسارات تطبيق Laravel بعد تسجيل الدخول عبر Sanctum API
تعتبر حماية صفحات التطبيق من الزوار غير المرغوب فيهم من الأمور الأساسية التي يجب على كل مطور أن يأخذها بعين الاعتبار. في هذا المقال، سنتناول كيفية حماية المسارات في تطبيق العميل باستخدام Laravel بعد تسجيل الدخول عن طريق واجهة برمجة تطبيقات Sanctum من تطبيق Laravel آخر.
فهم مفهوم الحماية في Laravel
هنا يأتي دور Laravel في تقديم أدوات وتقنيات تساعد المطورين على حماية تطبيقاتهم. يستخدم Laravel نظام الوسائط “middlewares” كوسيلة للتحقق من الاتصال والمصادقة. ولكن عندما يتعلق الأمر بتطبيقات العميل التي تعتمد على API، فإن الأمور قد تتعقد قليلاً.
المصادقة باستخدام Sanctum
بالنسبة لتطبيق العميل الذي يعتمد على Sanctum للمصادقة، يجب أولاً التأكد من أن التطبيق قادر على استعادة معلومات المستخدم مع رمز واجهة برمجة التطبيقات بعد تسجيل الدخول. يتضمن ذلك إرسال طلب تسجيل الدخول إلى واجهة برمجة التطبيقات واستلام توكن الأمان. بمجرد الحصول على هذا التوكن، يمكن استخدامه لتأمين المسارات في التطبيق.
كيفية حماية المسارات في تطبيق العميل
لحماية المسارات، تحتاج إلى إنشاء وسائط مخصصة خاصة بك (custom middleware) للتحقق من وجود توكن المصادقة. على سبيل المثال:
Route::middleware(['auth:sanctum'])->group(function () {
Route::get('/customers', [CustomerController::class, 'index'])->name('customer.index');
});
في الكود أعلاه، نحن نستخدم ‘auth:sanctum’ كوسيط للتحقق من أن الطلب يحتوي على توكن صحيح، مما يضمن أن المستخدم المسجل هو فقط من يستطيع الوصول إلى هذه المسارات.
تنفيذ التحقق من التوكن
يجب أن يتأكد تطبيق العميل من تضمين توكن المصادقة في كل طلب يتم إرساله إلى واجهة برمجة التطبيقات. يمكن القيام بذلك بشكل عام عبر تضمين التوكن في رأس HTTP:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
هذه الخطوة تضمن أن كل طلب يتم إرساله يعتمد على توكن تم التحقق منه مسبقاً، مما يساهم في تعزيز أمان التطبيق.
اختبار الأمن والتأكيد على الحماية
بعد إعداد الحماية، من الضروري اختبار التطبيق لضمان أنه لا يمكن الوصول إلى المسارات المحمية من قبل الزوار غير المسجلين. يمكنك استخدام الأدوات المتاحة مثل Postman لاختبار نقاط النهاية المختلفة والتأكد من أنها محمية كما هو متوقع.
توسيع الحماية باستخدام الأذونات
بعد تأمين المسارات، يمكن اعتبار استخدام نظام الأذونات كخطوة إضافية لتعزيز الحماية. يمكنك استخدام نظام الأذونات المدمج في Laravel لتفويض الوصول إلى المسارات بناءً على دور المستخدم. على سبيل المثال، يمكن أن تكون المسارات مثل /customers
متاحة فقط للمستخدمين الذين لديهم أذونات معينة.
Route::middleware(['auth:sanctum', 'can:view customers'])->group(function () {
Route::get('/customers', [CustomerController::class, 'index'])->name('customer.index');
});
الخاتمة
حماية المسارات في تطبيق العميل باستخدام Laravel كيف يمكن حماية تطبيق العميل بعد تسجيل الدخول عبر واجهة برمجة التطبيقات Sanctum هي عملية تتطلب تخطيطًا دقيقًا وتنفيذًا فعالًا. من خلال استخدام الوسائط المخصصة والتحقق من التوكن، يمكنك ضمان أن التطبيق آمن وموثوق. تذكر دائمًا أهمية اختبار التطبيق بعد تنفيذ خطوات الأمان لضمان عدم وجود ثغرات يمكن أن يستغلها الزائرون غير المسجلين. إن ضمان سلامة وأمان تطبيقك هو جزء لا يتجزأ من تجربة المستخدم وجودة البرمجيات.