تم نشر هذه التدوينة في البداية على مدونتي. تحقق من المصدر الأصلي باستخدام الرابط أدناه:
تعد المصادقة والترخيص أمرًا ضروريًا لضمان أمان التطبيقات والبيانات. ثلاثة بروتوكولات مستخدمة على نطاق واسع لإدارة هذه العمليات هي OAuth، وSAML، وOpenID.
عند استخدام تطبيقات مثل Facebook أو Google أو LinkedIn لتسجيل الدخول إلى مواقع ويب أخرى، فإنك تواجه بعض البروتوكولات المهمة: OAuth، SAML، وOpenID Connect . تساعد هذه البروتوكولات في الحفاظ على أمان معلوماتك مع السماح لك بالوصول إلى خدمات مختلفة.
SAML هو معيار مفتوح لتبادل بيانات المصادقة والترخيص بين الأطراف، خاصة بين موفر الهوية (IdP) وموفر الخدمة (SP). يتم استخدامه بشكل أساسي لسيناريوهات تسجيل الدخول الموحد (SSO)، مما يمكّن المستخدمين من المصادقة مرة واحدة والوصول إلى تطبيقات متعددة.
الأدوار/الممثلين:
المستخدم: الفرد الذي يصل إلى التطبيقات.
موفر الهوية (IdP): الخدمة التي تقوم بتوثيق المستخدم وتوفير تأكيدات الهوية.
مقدم الخدمة (SP): التطبيق أو الخدمة التي يحاول المستخدم الوصول إليها.
مخطط تدفق الطلب:
الدخول الموحد (SSO): يقوم المستخدمون بالمصادقة مرة واحدة لخدمات متعددة.
المستند إلى XML: يستخدم XML للرسائل، مما يجعله قويًا.
التأكيدات الآمنة: ينقل هوية المستخدم وسماته بشكل آمن.
OAuth هو معيار مفتوح لتفويض الوصول شائع الاستخدام للمصادقة والترخيص المستندين إلى الرمز المميز. فهو يسمح لتطبيقات الطرف الثالث بالوصول إلى بيانات المستخدم دون الكشف عن بيانات الاعتماد الخاصة بهم. يتم استخدام OAuth في المقام الأول للترخيص، مما يمكّن المستخدمين من منح وصول محدود إلى مواردهم المستضافة على موقع واحد إلى موقع آخر.
الأدوار/الممثلين:
مالك المورد: المستخدم الذي يملك البيانات ويمنح حق الوصول إليها.
خادم الموارد: الخادم الذي يستضيف بيانات المستخدم (مثل Google وFacebook).
العميل: تطبيق الطرف الثالث الذي يطلب الوصول إلى بيانات المستخدم.
خادم التفويض: الخادم المسؤول عن إصدار رموز الوصول إلى العميل بعد مصادقة مالك المورد.
مخطط تدفق الطلب:
الوصول المفوض: يمكن للمستخدمين منح الوصول دون مشاركة بيانات الاعتماد.
رموز الوصول: الرموز قصيرة العمر التي تحد من مدة الوصول.
النطاقات: تحديد مدى الوصول الممنوح للعميل.
OpenID Connect عبارة عن طبقة مصادقة مبنية على OAuth 2.0. يضيف التحقق من الهوية ويوفر طريقة للعملاء للتحقق من هوية المستخدم بناءً على المصادقة التي يقوم بها خادم التفويض.
الأدوار/الممثلين:
المستخدم النهائي: المستخدم الذي يريد المصادقة.
العميل: التطبيق الذي يطلب مصادقة المستخدم.
خادم التفويض: الخادم الذي يقوم بمصادقة المستخدم وإصدار الرموز المميزة.
مخطط تدفق الطلب:
رموز الهوية: JWTs التي توفر معلومات المستخدم والمطالبات.
التكامل السلس مع OAuth: يجمع بين المصادقة والترخيص.
نقطة نهاية معلومات المستخدم: يسمح بجلب معلومات إضافية للمستخدم.
يبدو متشابهين لكن كلاهما يخدم أغراضًا مختلفة ولكن متكاملة:
OAuth: يستخدم لـ التفويض. فهو يسمح للتطبيقات بالوصول إلى الموارد (مثل ملفك الشخصي أو صورك) من خدمة أخرى (مثل Facebook أو Google) دون الحاجة إلى كلمة المرور الخاصة بك. استخدم OAuth عندما تريد منح وصول محدود إلى بياناتك (على سبيل المثال، تطبيق تابع لجهة خارجية يصل إلى التقويم الخاص بك).
OpenID Connect (OIDC) : مبني على OAuth، ويتم استخدامه لمصادقة . إنه يتحقق من هويتك ويسمح للتطبيقات بمعرفة هويتك. استخدم OpenID Connect عندما تحتاج إلى تسجيل الدخول إلى موقع ويب أو تطبيق باستخدام خدمة مثل Google، لإثبات هويتك.
استخدام OAuth:
استخدام OpenID Connect:
ميزة | بروتوكول OAuth | SAML | اتصال OpenID |
---|---|---|---|
غاية | التفويض | المصادقة | المصادقة والترخيص |
شكل | JSON، الرمز المميز | XML | JSON |
حالات الاستخدام | الوصول إلى واجهة برمجة التطبيقات وتطبيقات الهاتف المحمول | تطبيقات الويب، الدخول الموحد | تطبيقات الويب والجوال |
تعقيد | معتدل | عالي | معتدل |
تجربة المستخدم | عمليات إعادة التوجيه إلى موفر الهوية | عمليات إعادة التوجيه إلى موفر الهوية | عمليات إعادة التوجيه إلى خادم التفويض |
يعد فهم OAuth وSAML وOpenID Connect أمرًا ضروريًا لبناء تطبيقات آمنة تتعامل مع مصادقة المستخدم والترخيص بشكل فعال. كل بروتوكول له غرضه، مما يضمن إمكانية الوصول إلى ما تحتاجه مع الحفاظ على أمان بياناتك.
شرح OAuth 2.0 ببساطة
ما هو SAML؟
نظرة عامة على اتصال OpenID
فهم الاختلافات: OAuth، وSAML، وOpenID Connect
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3