SAML و OIDC هما البروتوكولان الأكثر شهرة للمصادقة المستخدمة في صناعة SSO. ستقارن هذه المقالة بين SAML و OIDC من حيث البنية والحالات العملية الخاصة بهما.
SimengDeveloper
توقف عن إضاعة أسابيع في مصادقة المستخدم
أطلق تطبيقات آمنة بشكل أسرع مع Logto. قم بدمج مصادقة المستخدم في دقائق وركز على منتجك الأساسي.
SAML (لغة ترميز تأكيد الأمان) هو معيار مفتوح قائم على XML لتبادل بيانات المصادقة والتفويض بين الأطراف المختلفة، خاصة بين مزود الهوية (IdP) ومزود الخدمة (SP).
تمكّن SAML من SSO (Single Sign-On) على الويب مما يسمح للمستخدمين بالمصادقة مرة واحدة للوصول إلى تطبيقات متعددة. تُعد SAML بروتوكولًا ناضجًا حيث ظل موجودًا لفترة طويلة وتبنته الشركات بشكل واسع. بعض منصات SaaS الأكثر شهرة مثل Salesforce و Workday وMicrosoft Azure AD تدعم جميعها SAML SSO.
مزود الهوية (IdP): الكيان الذي يصادق المستخدمين ويقدم معلومات الهوية لمزودي الخدمة.
مزود الخدمة (SP): الكيان الذي يقدم الخدمات للمستخدمين ويعتمد على مزود الهوية لمصادقة المستخدمين.
تصريحات SAML: وثائق قائمة على XML تحمل تفاصيل مصادقة المستخدم وتفويضه. بما في ذلك، بيانات المصادقة، وبيانات السمات، وبيانات قرار التفويض.
بروتوكول SAML: يحدد صيغة الرسائل والقواعد لتبادل تصريحات SAML بين IdP و SP.
روابط SAML: تحدد كيفية نقل رسائل SAML عبر بروتوكولات الاتصال المختلفة مثل HTTP POST، HTTP Redirect، إلخ.
بيانات تعريف SAML: وثائق قائمة على XML تحتوي على معلومات تكوين IdP و SP. تشمل المفتاح العام، والنقاط النهائية، والروابط المدعومة التي تُستخدم لتأسيس الثقة بين IdP و SP.
نقطة نهاية تسجيل الدخول الفردي: النقطة النهائية التي يُحول SP المستخدم إليها للمصادقة مع IdP.
عنوان خدمة استهلاك التصريحات (ACS): النقطة النهائية التي يُرسل إليها IdP تصريح SAML بعد نجاح المصادقة.
OIDC (OpenID Connect) هو طبقة الهوية المبنية على بروتوكول OAuth 2.0. مشابهًا لـ SAML، يُستخدم OIDC أيضًا لتبادل بيانات المصادقة والتفويض بين IdP و SP.
مقارنة بـ SAML، يُعتبر OIDC بروتوكولًا حديثًا وخفيف الوزن يكتسب شعبية في تطبيقات الويب الحديثة وتطبيقات الهواتف المحمولة. يستخدم OIDC JWT لنقل معلومات الهوية، وهو أكثر ضغطًا وأسهل في التعامل معه مقارنة بتصريحات SAML القائمة على XML. إنه شائع بشكل خاص في التطبيقات الموجهة للمستهلك وأمن API.
حديث وخفيف الوزن: يعتبر OIDC بروتوكولًا معاصرًا يستخدم رموز JWT القائمة على JSON، والتي هي أكثر ضغطًا وأسهل في التعامل معها مقارنة بتصريحات SAML القائمة على XML.
تطبيقات موجهة للمستهلك: يتمتع OIDC بشعبية خاصة في التطبيقات الموجهة للمستهلك وأمن API.
التوافق: مبني على قاعدة OAuth 2.0، يتمتع OIDC بتوافق مع منصات وأجهزة متنوعة.
الأمان: يوفر OIDC طريقة أكثر أمانًا لمصادقة المستخدم وحماية API. يتضمن العديد من ميزات الأمان الحديثة مثل استعراض الرموز، إلغاء الرموز، إثبات المفتاح لتبادل الرمز (PKCE)، ويدعم تدفقات مصادقة مختلفة مكيّفة مع احتياجات الأمان المختلفة.
سهولة الاستخدام: يعتبر OIDC أبسط في التنفيذ والتعامل مقارنة بـ SAML. إنه أكثر ملاءمة للمطورين وله مكتبات شاملة وSDKs للغات البرمجة والمنصات المتعددة.
إدارة الرموز: يعتمد OIDC على الرموز للمصادقة والتفويض. يتطلب اتباع ممارسات إدارة الرموز الصحيحة لضمان الأمان.
التعقيد: على الرغم من أن OIDC بسيط في الإعدادات الأساسية، فإنه نظراً لطبيعته المرنة، يمكن أن يضيف التعقيد عند تنفيذ التخصيصات المتقدمة. مثل المطالبات المميزة، والتحكم في الوصول بناءً على الدور (RBAC)، إلخ.
التبني: ما زال OIDC جديدًا نسبيًا مقارنة بـ SAML، خاصة في الفضاء المؤسسي. قد تعتمد بعض الأنظمة القديمة لا تزال على SAML لأغراض SSO.
يُستخدم SAML و OIDC بشكل واسع لأغراض المصادقة والتفويض.
يظل SAML ركيزة أساسية لتسجيل الدخول الفردي للمؤسسات وتكاملات B2B. دعمه القوي لإدارة الهويات الموزعة وتاريخه المثبت يضمن استمراريته، خاصة للأنظمة القديمة والمنظمات الكبيرة.
من ناحية أخرى، يستمر OIDC في التطور بفضل الطلب على مصادقة آمنة وقابلة للتوسع في التطبيقات الحديثة. طبيعته الخفيفة وملاءمته مع APIs والخدمات الصغيرة تجعله ركيزة أساسية للهياكل السحابية والهيكليات الموزعة. مع صعود المصادقة بدون كلمة مرور، والقياسات الحيوية، والمصادقة متعددة العوامل (MFA)، من المتوقع أن يتم دمج OIDC بسلاسة مع التقنيات الناشئة، مما يضمن استمراريته للمستقبل.