"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > SAML مقابل OAuth مقابل OpenID Connect

SAML مقابل OAuth مقابل OpenID Connect

تم النشر بتاريخ 2024-11-06
تصفح:574

تم نشر هذه التدوينة في البداية على مدونتي. تحقق من المصدر الأصلي باستخدام الرابط أدناه:

SAML vs. OAuth vs. OpenID Connect

SAML مقابل OAuth مقابل OpenID Connect

ستستكشف هذه المقالة SAML وOAuth وOpenID Connect وحالات الاستخدام الخاصة بها وكيفية تفاعلها مع بعضها البعض

SAML vs. OAuth vs. OpenID Connect rahulvijayvergiya.hashnode.dev

تعد المصادقة والترخيص أمرًا ضروريًا لضمان أمان التطبيقات والبيانات. ثلاثة بروتوكولات مستخدمة على نطاق واسع لإدارة هذه العمليات هي OAuth، وSAML، وOpenID.

عند استخدام تطبيقات مثل Facebook أو Google أو LinkedIn لتسجيل الدخول إلى مواقع ويب أخرى، فإنك تواجه بعض البروتوكولات المهمة: OAuth، SAML، وOpenID Connect . تساعد هذه البروتوكولات في الحفاظ على أمان معلوماتك مع السماح لك بالوصول إلى خدمات مختلفة.

1. SAML (لغة ترميز تأكيد الأمان)

SAML هو معيار مفتوح لتبادل بيانات المصادقة والترخيص بين الأطراف، خاصة بين موفر الهوية (IdP) وموفر الخدمة (SP). يتم استخدامه بشكل أساسي لسيناريوهات تسجيل الدخول الموحد (SSO)، مما يمكّن المستخدمين من المصادقة مرة واحدة والوصول إلى تطبيقات متعددة.

كيف يعمل SAML

الأدوار/الممثلين:

  • المستخدم: الفرد الذي يصل إلى التطبيقات.

  • موفر الهوية (IdP): الخدمة التي تقوم بتوثيق المستخدم وتوفير تأكيدات الهوية.

  • مقدم الخدمة (SP): التطبيق أو الخدمة التي يحاول المستخدم الوصول إليها.

مخطط تدفق الطلب:

SAML vs. OAuth vs. OpenID Connect

الميزات الرئيسية لـ SAML

  • الدخول الموحد (SSO): يقوم المستخدمون بالمصادقة مرة واحدة لخدمات متعددة.

  • المستند إلى XML: يستخدم XML للرسائل، مما يجعله قويًا.

  • التأكيدات الآمنة: ينقل هوية المستخدم وسماته بشكل آمن.


2. OAuth (الترخيص المفتوح)

OAuth هو معيار مفتوح لتفويض الوصول شائع الاستخدام للمصادقة والترخيص المستندين إلى الرمز المميز. فهو يسمح لتطبيقات الطرف الثالث بالوصول إلى بيانات المستخدم دون الكشف عن بيانات الاعتماد الخاصة بهم. يتم استخدام OAuth في المقام الأول للترخيص، مما يمكّن المستخدمين من منح وصول محدود إلى مواردهم المستضافة على موقع واحد إلى موقع آخر.

كيف يعمل OAuth

الأدوار/الممثلين:

  • مالك المورد: المستخدم الذي يملك البيانات ويمنح حق الوصول إليها.

  • خادم الموارد: الخادم الذي يستضيف بيانات المستخدم (مثل Google وFacebook).

  • العميل: تطبيق الطرف الثالث الذي يطلب الوصول إلى بيانات المستخدم.

  • خادم التفويض: الخادم المسؤول عن إصدار رموز الوصول إلى العميل بعد مصادقة مالك المورد.

مخطط تدفق الطلب:

SAML vs. OAuth vs. OpenID Connect

الميزات الرئيسية لـ OAuth

  • الوصول المفوض: يمكن للمستخدمين منح الوصول دون مشاركة بيانات الاعتماد.

  • رموز الوصول: الرموز قصيرة العمر التي تحد من مدة الوصول.

  • النطاقات: تحديد مدى الوصول الممنوح للعميل.


3. اتصال OpenID

OpenID Connect عبارة عن طبقة مصادقة مبنية على OAuth 2.0. يضيف التحقق من الهوية ويوفر طريقة للعملاء للتحقق من هوية المستخدم بناءً على المصادقة التي يقوم بها خادم التفويض.

كيف يعمل اتصال OpenID

الأدوار/الممثلين:

  • المستخدم النهائي: المستخدم الذي يريد المصادقة.

  • العميل: التطبيق الذي يطلب مصادقة المستخدم.

  • خادم التفويض: الخادم الذي يقوم بمصادقة المستخدم وإصدار الرموز المميزة.

مخطط تدفق الطلب:

SAML vs. OAuth vs. OpenID Connect

الميزات الرئيسية للاتصال OpenID

  • رموز الهوية: JWTs التي توفر معلومات المستخدم والمطالبات.

  • التكامل السلس مع OAuth: يجمع بين المصادقة والترخيص.

  • نقطة نهاية معلومات المستخدم: يسمح بجلب معلومات إضافية للمستخدم.

اتصال OpenID وOAuth

يبدو متشابهين لكن كلاهما يخدم أغراضًا مختلفة ولكن متكاملة:

  • OAuth: يستخدم لـ التفويض. فهو يسمح للتطبيقات بالوصول إلى الموارد (مثل ملفك الشخصي أو صورك) من خدمة أخرى (مثل Facebook أو Google) دون الحاجة إلى كلمة المرور الخاصة بك. استخدم OAuth عندما تريد منح وصول محدود إلى بياناتك (على سبيل المثال، تطبيق تابع لجهة خارجية يصل إلى التقويم الخاص بك).

  • OpenID Connect (OIDC) : مبني على OAuth، ويتم استخدامه لمصادقة . إنه يتحقق من هويتك ويسمح للتطبيقات بمعرفة هويتك. استخدم OpenID Connect عندما تحتاج إلى تسجيل الدخول إلى موقع ويب أو تطبيق باستخدام خدمة مثل Google، لإثبات هويتك.

متى تستخدم:

  • استخدام OAuth:

    • عندما تريد أن يصل أحد التطبيقات إلى البيانات أو الموارد نيابة عنك (على سبيل المثال، نشر تطبيق لك على تويتر).
    • "هل يمكن لهذا التطبيق الوصول إلى بياناتي؟" (الترخيص)
  • استخدام OpenID Connect:

    • عندما تحتاج إلى التحقق من هوية المستخدم (على سبيل المثال، تسجيل الدخول إلى موقع ويب باستخدام حساب Google الخاص بك).
    • "من هو هذا المستخدم؟" (التوثيق)

مقارنة سريعة بين OAuth وSAML وOpenID Connect

ميزة بروتوكول OAuth SAML اتصال OpenID
غاية التفويض المصادقة المصادقة والترخيص
شكل JSON، الرمز المميز XML JSON
حالات الاستخدام الوصول إلى واجهة برمجة التطبيقات وتطبيقات الهاتف المحمول تطبيقات الويب، الدخول الموحد تطبيقات الويب والجوال
تعقيد معتدل عالي معتدل
تجربة المستخدم عمليات إعادة التوجيه إلى موفر الهوية عمليات إعادة التوجيه إلى موفر الهوية عمليات إعادة التوجيه إلى خادم التفويض

خاتمة

يعد فهم OAuth وSAML وOpenID Connect أمرًا ضروريًا لبناء تطبيقات آمنة تتعامل مع مصادقة المستخدم والترخيص بشكل فعال. كل بروتوكول له غرضه، مما يضمن إمكانية الوصول إلى ما تحتاجه مع الحفاظ على أمان بياناتك.

مراجع

  1. شرح OAuth 2.0 ببساطة

  2. ما هو SAML؟

  3. نظرة عامة على اتصال OpenID

  4. فهم الاختلافات: OAuth، وSAML، وOpenID Connect

بيان الافراج تم نشر هذه المقالة على: https://dev.to/rahulvijayvergiya/saml-vs-oauth-vs-openid-connect-29m4?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3