الكاتب بيتكلم عن SCIM — وهو اختصار لـ System for Cross‑Domain Identity Management — باعتباره معيار وREST API يسمح بتزويد (provisioning) وتحديث وحذف بيانات المستخدمين والمجموعات (CRUD) بين موفّري الهوية (مثل Microsoft Entra ID أو Okta) والتطبيق بتاعك بشكل أوتوماتيكي، من غير ما تحتاج تكتب تكامل خاص لكل عميل .
أهم النقاط:
إيه SCIM بيعمله؟
موفّري الهوية بيستخدموا SCIM علشان يبلغوا تطبيقاتك بتغييرات في المستخدمين:
إضافة موظفين جدد
تعديل بيانات زي الاسم أو الوظيفة
حذف حسابات لما الموظف يمشي
البيانات دي بتتبعت بصيغة JSON قياسية، والتطبيق بتاعك يتعامل معها ويحدث جدول المستخدمين عنده .
فين تكمن البساطة؟
SCIM بيعرف الـ JSON Schema الثابت (RFC 7643/7644) وendpoints زي /Users و/Groups علشان تعمل create, update, delete من غير غموض أو تنسيق خاص بكل عميل .
إيه اللي SCIM مش بيعمله؟
مش مسؤول عن المصادقة (authentication) – دي اختصاص SAML أو OAuth. SCIM بس بيدير lifecycle المستخدمين، لكن ممكن يشتغل جنب SSO بشكل متكامل .
إزاي تبني SCIM endpoint؟
اعرف attributes اللي تطبيقك محتاجها للمستخدمين والمجموعات (زي userName, email, jobTitle)
طابقها مع SCIM core schema أو enterprise extension أو عرف extension لو ناقص
وفّر endpoint RESTful متوافق SCIM 2.0 على HTTPS مع وثائق OAuth bearer token للتوثيق
توافق مع Microsoft Entra ID:
لازم تدعم عمليات SCIM زي POST, PATCH, DELETE على /Users و/Groups
دعم uniqueness في displayName للـ groups، وضرورة الـ PATCH تكون case-insensitive للعناصر زي op Add/Replace/Remove
Entra بيجري sync كل ~40 دقيقة بعد الـ configuration ويتأكد من endpoint بصلاحية HTTP 200 response على user غير موجود لاختبار الاتصال .
فوائد SCIM للتطبيقات:
بيقلل صعوبة التكامل مع عملاء مؤسسات لأن معظم الأدوات بفهم نفس البروتوكول SCIM
بيقلل التدخل البشري والهدر الأمني والأخطاء اليدوية في إدارة الحسابات عند العملاء الكبار
الخلاصة:
لو بتبني SaaS موجه للشركات، دعم SCIM مش بس ميزة، ده ضرورة لو عايز العملاء يشتركوا من غير صدمات. هدفك إن التطبيق يبقى SCIM 2.0–compliant، يبعت ويستقبل بيانات مستخدمين وجروبات بصيغة قياسية، ويدعم التوثيق بـ OAuth على HTTPS. كده يبقى جاهز تستقبل provisioning مباشر من موفّري الهوية زي Microsoft Entra أو Okta من غير شغل زايد وخسائر.
المقال الاصلي هنا:
https://tesseral.com/blog/what-a-developer-needs-to-know-about-scim