يوفر الدخول الموحد (SSO) الراحة التي تشتد الحاجة إليها والأمان الجوهري لأنشطة تسجيل الدخول للتطبيقات. لحسن الحظ ، يعمل SSO مع أي تطبيق ويب في Azure Active Directory الخاص بك ، لذلك دعونا نلقي نظرة على كيفية إعداده.
باستخدام SSO ، سيقوم المستخدمون بتسجيل الدخول مرة واحدة بحساب واحد ولهم حق الوصول إلى تطبيقات الويب الخاصة بك ، و SAAS ، وموارد الشركة ، والأجهزة المرتبطة بالمجال. بعد تسجيل الدخول ، يمكنهم تشغيل أي تطبيق من Azure AD MyApps و / أو مدخل Office 365. يمكن للمسؤولين إدارة حسابات المستخدمين ، وإضافة / إزالة الوصول إلى التطبيقات على أساس العضوية.
بدون SSO ، يتعين على المستخدمين تذكر معلومات السجل الخاصة بالتطبيق وتسجيل الدخول إلى كل منها. يتعين على الموظفين تحديث وإنشاء وإدارة حسابات لكل تطبيق. يجب على المستخدمين تذكر كلمات المرور وقضاء وقتهم في تسجيل الدخول.
لذلك ، ليس من الصعب رؤية أن SSO هو الفائز الواضح عندما يتعلق الأمر بإمكانية الوصول على الويب. لكنها ليست مريحة فحسب ، بل هي آمنة ، لذلك دعونا نلقي نظرة على OpenID Connect.
ما هو OpenID Connect؟
على الرغم من أن لغة ترميز تأكيد الأمان هي الحل الأساسي الحالي للدخول الموحّد (SSO) للمؤسسات ، فإن العديد منهم يحل استخدامهم لاتصال OpenID لأسباب عديدة.
إليك بعض الأمثلة على سبيل المثال لا الحصر:
- يعمل بشكل أفضل على الأجهزة المحمولة
- استنادًا إلى OAuth 2 ، وبالتالي يكون أسهل للمطورين
- مثالي لغير الموظفين
- سهل التكوين ، وبأسعار معقولة للحفاظ عليه
- Industry Standard لـ Azure Active Directory ، و Okta ، و Google G Suite ، و Auth0 ، و OneLogin ، وما إلى ذلك.
OpenID Connect هو أصلي للعديد من IDPS ، وبالتحديد Azure AD ، وهذا هو السبب في أننا سنستخدمه بشكل مناسب.
يمكن تشغيل كل من OIDC و SAML معًا. لذلك ، إذا كنت بحاجة إلى فصل وتصنيف المستخدمين الخارجيين والداخليين ، فقد يكون هذا هو الحل. من الجيد أيضًا فصل الحلول الخاصة بك ، حيث تستخدم SAML لوصول الموظفين و OIDC لتضمين البطاقة في مواقع أخرى.
حتى إذا تم تطبيق كلتا الطريقتين ، فلا يزال من الممكن استخدام DSO ، لكن هذا لم يتم استخدامه بالفعل في هذا السيناريو.
كيفية إضافة تطبيق OpenID من Azure AD؟
لبدء عملية تمكين SSO لتطبيقاتك ، تحتاج إلى:
- قم بالوصول إلى "بوابة Azure" ، وحدد "Azure Active Directory."
- انتقل إلى "تطبيقات المؤسسة" ، ثم إلى "جميع التطبيقات".
- حدد زر "تطبيق جديد" ، واكتب الاسم في مربع البحث. (OpenID و OAuth لهما الزر "إضافة" معطلين بشكل افتراضي. يجب على مشرف المستأجر تحديد زر التسجيل ، وتوفير الوصول إلى التطبيق.

- بعد التفويض الناجح ، يمكنك قبول الموافقة ، وبعد ذلك ستفتح الصفحة الرئيسية للتطبيق.
- عند تحديد زر التسجيل ، ستتم إعادة توجيهك إلى "دليل Azure النشط" لاستيفاء بيانات اعتماد تسجيل الدخول.
في هذه المرحلة ، قمت بتوفير الوصول إلى المستأجر لحل OpenID لهذا التطبيق المحدد.
يمكنك فقط إضافة مثيل واحد للتطبيق. إذا كنت قد فعلت ذلك بالفعل وحاولت طلب الموافقة ، فلن تتم إضافتها إلى المستأجر مرة أخرى. مثيل تطبيق واحد لكل مستأجر ، هذه هي الطريقة الوحيدة التي يعمل بها.
كيف ستعمل المصادقة مع OpenID Connect
من أجل الاستمرار في مصادقة SSO ، عليك أولاً فهم كيفية عمل تدفق بسيط لتسجيل الدخول:
- يسجل المستخدم الدخول ويدخل بيانات الاعتماد ، ثم يوافق على الأذونات. (يتم تشغيل هذا من خلال الأمر / oauth2 / authorize.)
- يتم إرجاع id_token ، ويتم إرسال رمز التفويض إلى المتصفح.
- تحدث إعادة توجيه إلى عنوان URL.
- تم التحقق من صحة id_token ؛ تم تعيين ملف تعريف ارتباط الجلسة.
- حامل رمز OAuth مطلوب لتوفير رمز_التخويل.
- يتم إرجاع الرمز المميز بـ Refresh_token.
- يتم استدعاء واجهة برمجة تطبيقات الويب برمز مميز في رأس المصادقة.
- تم التحقق من صحة الرمز المميز.
- يتم إرجاع البيانات الآمنة إلى تطبيق خادم الويب.
هذا تمثيل بسيط جدًا لتدفق التفويض ، وهذا ما يعود عليه حقًا في النهاية.
تمكين إطار الموافقة
لتطوير تطبيق عميل أصلي أو تطبيق ويب متعدد المستأجرين ، يمكنك استخدام إطار عمل موافقة Azure AD. سيسمح هذا بتسجيل الدخول من حسابات المستخدمين لمستأجر Azure AD معين، والذي تم تزويده بإمكانية الوصول في الخطوات السابقة.
قد يكون الوصول إلى الويب APIS ضروريًا. على سبيل المثال ، Microsoft Graph APIللوصول إلى Azure AD أو Office 365 أو Intune. أيضًا ، يجب منح أي APIS شخصي على الويب حق الوصول من المستأجر.
يعتمد إطار الموافقة على مسؤول أو مستخدم سابق يقدم الموافقة على تطبيق يطلب التسجيل في الدليل. قد يتضمن الوصول إلى بيانات الدليل ، ولكن ليس من الضروري. بعد تقديم الموافقة ، سيتصل التطبيق بـ Graph API نيابة عن المستخدم والوصول إلى المعلومات عند الضرورة.
توفر واجهة برمجة التطبيقات إمكانية الوصول إلى نقاط البيانات المختلفة ، ولكنها توفر أيضًا الوصول إلى المجموعات والمستخدمين في Azure AD وأي خدمات سحابية أخرى من Microsoft. لذلك ، ستعمل مع أي من تطبيقات الويب الخاصة بك.
هكذا ستحدث تجربة الموافقة للمستخدم والمطور:
موافقة المطور / المستخدم
يحتاج تطبيق عميل الويب إلى أذونات للوصول إلى مورد. تعلن بوابة Azure عن طلب إذن لتعيين وقت تم تكوينه. مثل أي إعداد تكوين آخر ، يصبح جزءًا من نقاط بيانات تسجيل Azure AD.
للوصول إلى مسار الأذونات ، تحتاج إلى النقر فوق "تسجيلات التطبيق" من الجانب الأيسر ، وفتح التطبيق الذي ستعمل معه. ثم يمكنك الانتقال بنفسك إلى قائمة "أذونات واجهة برمجة التطبيقات" ، وتحديد خيار "إضافة إذن". بعد ذلك ، حدد "Microsoft Graph" واختر الخيارات من "التطبيق والأذونات المفوضة".

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

إذا لم يتم منح الموافقة ، ستظهر مطالبة وتعرض الأذونات التي تتطلبها للوظائف. يمكن للمستخدم الموافقة على أذونات مختلفة ، ولكن قد يحتاج الآخرون إلى الوصول إلى حساب مسؤول المستأجر.
الخلاصة
على الرغم من أن العملية الكامنة وراء تمكين OpenID Connect بسيطة للغاية ، إلا أن وظائف وتطبيق SSO سيكونان صارمين على قدرة المطور الذي سيكون مسؤولاً عن تنفيذ الوظيفة.
OIDC يأتي مع مجموعة متنوعة من المكونات الإضافية المدمجة التي تسمح بالوصول الفوري من الصندوق ، كما هو مذكور عبر تدفق التفويض الأساسي ، ولكن أي شيء يتطلب نهجًا مخصصًا سيكون نهجًا أكثر انخراطًا.
لمزيد من المعلومات حول كيفية تمديد فرصة SSO ، اقرأ بعض الوثائق الأصلية من Azure.