العربية
  • saas
  • collaboration
  • organizations
  • rbac
  • multi-tenancy

وراء الكواليس: كيف نقوم بتنفيذ التعاون بين المستخدمين داخل تطبيق متعدد المستأجرين

ممارسات ورؤى حول تنفيذ ميزة دعوة وإدارة الوصول إلى الأدوار مثل التعاون في Logto Cloud في تطبيق متعدد المستأجرين.

Charles
Charles
Developer

الخلفية

الأسبوع الماضي، قدمنا ميزة التعاون على Logto Cloud. إذا فاتك، الق نظرة! الآن، يمكنك دعوة الزملاء ورفاق العمل إلى مستأجري Logto الحاليين لديك، والتعاون معًا في الحفاظ على نظام الهوية لتطبيقاتك.

في هذا الإصدار من الميزة، أضفنا دورين لكل مستأجر في Logto:

  • المدير: وصول كامل إلى المستأجر، بما في ذلك إدارة الموارد المتعلقة بالهوية، دعوة وإدارة الأعضاء الآخرين، التعامل مع الفواتير، وعرض تاريخ الفواتير.
  • المتعاون: يمكنه إدارة الموارد المتعلقة بالهوية ولكنه لا يملك حق الوصول إلى ميزات المدير الأخرى.

متسقًا مع التزامنا باستخدام أدواتنا الخاصة، قمنا باستخدام RBAC (التحكم في الوصول القائم على الأدوار) وميزة المنظمات في بناء التعاون بين المستخدمين. إذا كنت جديدًا على RBAC ، اطلع على منشورنا السابق للبدء.

في هذا المنشور، دعونا نلقي نظرة على ما تم في تنفيذ هذه الميزة، وكيف يمكن أن تفيدك هذه الممارسات إذا كنت تطور تطبيقات متعددة المنظمات.

تعاون Logto Cloud مُبنى مع منظمات Logto

كل مستأجر في Logto Cloud يعمل كمنظمة مستقلة في نظامنا، مدعومة بميزة المنظمات الخاصة بنا. لتقديم أدوار مدير المستأجر والمتعاون، قمنا بإنشاء دورين تنظيميَين في قالب المنظمة، كل منهما مُعين بمجموعة محددة من أذونات المنظمة.

أدوار المنظمة
نطاقات المنظمة

التعامل مع الدعوات باستخدام Logto Management API

لقد وفرنا مجموعة من واجهات برمجة التطبيقات المتعلقة بالدعوة في ميزة المنظمات. مع هذه APIs، يمكنك، على سبيل المثال:

  • POST /api/organization-invitations إنشاء وإرسال دعوة للانضمام إلى منظمة عبر عنوان بريد إلكتروني
  • GET /api/organization-invitations & GET /api/organization-invitations/{id} الحصول على دعواتك
  • PUT /api/organization-invitations/{id}/status قبول أو رفض الدعوة من خلال تحديث حالة الدعوة

لمزيد من التفاصيل، ارجع إلى كامل توثيق API.

الاتصال بمنظم البريد الإلكتروني

بما أن الدعوات تُرسل عبر البريد الإلكتروني، تأكد من تكوين منظم البريد الإلكتروني لديك بشكل صحيح. في هذا الإصدار، قدمنا نوع استخدام جديدًا لقالب البريد الإلكتروني، OrganizationInvitation، مما يسمح بتخصيص قالب دعوة البريد الإلكتروني.

عينة دعوة عبر البريد الإلكتروني

سيقبل هذا القالب افتراضيًا متغير {{link}}، وهو الرابط إلى صفحة هبوط Logto Console، حيث يمكن للمستخدمين قبول الدعوة والانضمام إلى مستأجر Logto. تبدو إحدى صفحات الهبوط في Logto Cloud كما في لقطة الشاشة أدناه:

صفحة هبوط الدعوة

للمزيد من التفاصيل حول إرسال دعوة البريد الإلكتروني من خلال Management API، راجع توثيق API.

استخدام RBAC لإدارة أذونات المستخدم

مع الإعدادات أعلاه، يمكننا إرسال الدعوات عبر البريد الإلكتروني، ويمكن للمدعوين الانضمام إلى المنظمة بالدور المعين.

ستحمل المستخدمون مختلفِ الأدوار التنظيمية نطاقات (أذونات) مختلفة في رموز الوصول الخاصة بهم. لذلك، يجب على تطبيق العميل (Logto Console) وخدماتنا الخلفية التحقق من هذه النطاقات لتحديد الميزات المرئية والأعمال المسموح بها.

حسنًا، حتى الآن، يبدو أن كل شيء متصل، وماذا أيضًا نفتقد؟

معالجة تحديثات النطاق في رموز الوصول

إدارة تحديثات النطاق في رموز الوصول تتضمن:

  • إلغاء النطاقات الموجودة: على سبيل المثال، تخفيض رتبة المدير إلى متعاون غير مديري يقلل النطاقات في رمز الوصول الجديد الذي يتم الحصول عليه باستخدام رمز التحديث الموجود.
  • منح نطاقات جديدة: على النقيض، ترقية المستخدم إلى مدير يتطلب تفعيل عملية إعادة تسجيل دخول أو إعادة موافقة لتعكس التغيير في رموز وصول المستخدم.

في Logto Cloud، يتحقق Console بفاعلية من نطاقات المستخدم باستخدام طلبات SWR، ونحن نقدم موافقة تلقائية كلما تم ترقية المستخدم إلى مدير.

إذا كنت تنفذ ميزة مشابهة مع RBAC، ستحتاج إلى آلية (مثل WebSocket أو أحداث خادم الدفع) لإخطار تطبيقك بتحديثات النطاق، مما يوفر إعادة موافقة أو إصدار رموز وصول جديدة تبعًا لذلك. ستقدم Logto أيضًا المزيد من الإشعارات المساعدة مع التحديثات المستقبلية.

في الختام

ميزات متعدد المستأجرين والتعاون في Logto Cloud تستفيد من ميزة المنظمات لدينا. إذا كنت تقوم بتطوير تطبيق متعدد المستأجرين مشابه، فكر في استخدام هذه الميزة مع نهج مشابه.

آمل أن يكون هذا المنشور قد أثبت فائدته. لأي أسئلة أو مناقشات، لا تتردد في الانضمام إلى قناة Discord الخاصة بنا.