يتعامل Inertia مع مصادقة المستخدم مع Laravel من خلال الاستفادة من ميزات المصادقة المضمنة في Laravel وتوسيعها للعمل بسلاسة مع بنية تطبيق Inertia ذات الصفحة الواحدة (SPA). هاهي نقاط الحروف:
1. استخدام مصادقة Laravel الافتراضية:
- يستخدم Inertia المصادقة الافتراضية المستندة إلى الجلسة في Laravel، مما يعني أنه تتم مصادقة المستخدمين باستخدام آليات المصادقة المضمنة في Laravel.
- يلغي هذا الأسلوب الحاجة إلى إنشاء واجهة برمجة تطبيقات منفصلة للمصادقة، حيث يمكن أن تتفاعل Inertia مباشرة مع نظام المصادقة الخاص بـ Laravel[1] [2] [3].
2. مشاركة المستخدم المصادق عليه:
- يتم استخدام طريقة "المشاركة" الخاصة بـ Inertia لمشاركة المستخدم المصادق عليه مع الواجهة الأمامية. يسمح هذا للواجهة الأمامية بالوصول إلى كائن المستخدم واستخدامه للتحقق من الترخيص[2].
3. فحوصات التفويض:
- يتم إجراء عمليات فحص التفويض على الواجهة الأمامية باستخدام كائن المستخدم الذي تتم مشاركته بواسطة Inertia. يضمن ذلك أن الواجهة الأمامية يمكنها عرض المحتوى أو إخفائه ديناميكيًا بناءً على أذونات المستخدم[2].
4. تحويل البيانات:
- تحويل البيانات أمر بالغ الأهمية للتحقق من الترخيص. يمكن استخدام طريقة "المشاركة" الخاصة بـ Inertia لتحويل البيانات قبل أن تصل إلى الواجهة الأمامية، مما يسهل التعامل مع متطلبات الترخيص المعقدة[2].
5. مجموعات المبتدئين:
- يوفر Laravel مجموعات أولية مثل Laravel Breeze وLaravel Jetstream التي توفر نقاط بداية مصممة بشكل جميل لدمج المصادقة في تطبيق Laravel الجديد. تشتمل هذه المجموعات على خيارات السقالات المستندة إلى Livewire أو Inertia، مما يجعل من السهل دمج المصادقة مع تطبيق Inertia الخاص بك[4].
من خلال الاستفادة من هذه الميزات، توفر Inertia طريقة سلسة وفعالة للتعامل مع مصادقة المستخدم مع Laravel، مما يسمح للمطورين بالتركيز على بناء تطبيقاتهم دون القلق بشأن تعقيدات المصادقة والترخيص.
اقتباسات:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in