Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon كيف يقوم InertiaJS بإدارة المصادقة والترخيص في SPA


كيف يقوم InertiaJS بإدارة المصادقة والترخيص في SPA


إليك كيفية إدارة Inertia.js للمصادقة والترخيص في تطبيقات الصفحة الواحدة (SPAs):

المصادقة

1. لا يتطلب Inertia.js نظام مصادقة خاصًا مثل OAuth. بدلًا من ذلك، يسمح لك باستخدام نظام المصادقة الذي يوفره إطار عمل جانب الخادم الخاص بك، مثل نظام المصادقة المستند إلى الجلسة في Laravel. [3]

2. توفر مجموعات بدء التشغيل من Laravel، Breeze وJetstream، دعامات جاهزة لتطبيقات Inertia.js الجديدة، بما في ذلك وظيفة المصادقة. [3]

3. للوصول إلى المستخدم المصادق عليه في مكونات Inertia.js، يمكنك استخدام الأسلوب `Inertia.share()` لتمرير المستخدم المصادق عليه كدعم لصفحاتك. [4]

تفويض

1. بالنسبة للتفويض بناءً على أنواع الموارد (على سبيل المثال، هل يمكن للمستخدم عرض وحدة المنشورات أو إنشاء منشور جديد)، يمكنك تمرير عمليات التحقق من التفويض كدعائم لمكونات صفحة Inertia.js الخاصة بك. [1][2]

2. للتحقق من الترخيص لكيانات موارد محددة (على سبيل المثال، هل يمكن للمستخدم تحرير منشور معين)، يمكنك إضافة سمة "أذونات" إلى نماذج Eloquent الخاصة بك والتي تحتوي على عمليات التحقق من الترخيص لهذا الكيان. بعد ذلك، يمكنك تمرير بيانات "الأذونات" هذه كدعم لمكونات Inertia.js الخاصة بك. [4]

3. المفتاح هو إجراء عمليات التحقق من التفويض على جانب الخادم ثم تمرير النتائج إلى مكونات Inertia.js الخاصة بك كدعائم. وهذا يضمن عدم كشف منطق التفويض من جانب العميل، والذي يمكن التلاعب به. [4]

4. لا يوفر Inertia.js نظام ترخيص خاصًا به، ولكنه يتكامل مع نظام الترخيص الخاص بإطار العمل من جانب الخادم (على سبيل المثال، Laravel's Gate and Policies). [4]

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

اقتباسات:
[1] https://inertiajs.com/authorization
[2] https://legacy.inertiajs.com/authorization
[3] https://inertiajs.com/authentication
[4] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[5] https://www.youtube.com/watch?v=1xHfpDhuPzA